Book description
An effective guide to learning how to build a large-scale distributed application using the wide range of functionalities in Gin
Key Features
- Explore the commonly used functionalities of Gin to build web applications
- Become well-versed with rendering HTML templates with the Gin engine
- Solve commonly occurring challenges such as scaling, caching, and deployment
Book Description
Gin is a high-performance HTTP web framework used to build web applications and microservices in Go. This book is designed to teach you the ins and outs of the Gin framework with the help of practical examples.
You'll start by exploring the basics of the Gin framework, before progressing to build a real-world RESTful API. Along the way, you'll learn how to write custom middleware and understand the routing mechanism, as well as how to bind user data and validate incoming HTTP requests. The book also demonstrates how to store and retrieve data at scale with a NoSQL database such as MongoDB, and how to implement a caching layer with Redis. Next, you'll understand how to secure and test your API endpoints with authentication protocols such as OAuth 2 and JWT. Later chapters will guide you through rendering HTML templates on the server-side and building a frontend application with the React web framework to consume API responses. Finally, you'll deploy your application on Amazon Web Services (AWS) and learn how to automate the deployment process with a continuous integration/continuous delivery (CI/CD) pipeline.
By the end of this Gin book, you will be able to design, build, and deploy a production-ready distributed application from scratch using the Gin framework.
What you will learn
- Build a production-ready REST API with the Gin framework
- Scale web applications with event-driven architecture
- Use NoSQL databases for data persistence
- Set up authentication middleware with JWT and Auth0
- Deploy a Gin-based RESTful API on AWS with Docker and Kubernetes
- Implement a CI/CD workflow for Gin web apps
Who this book is for
This book is for Go developers who are comfortable with the Go language and seeking to learn REST API design and development with the Gin framework. Beginner-level knowledge of the Go programming language is required to make the most of this book.
Table of contents
- Building Distributed Applications in Gin
- Contributors
- About the author
- About the reviewer
- Preface
- Section 1: Inside the Gin Framework
- Chapter 1: Getting Started with Gin
- Section 2: Distributed Microservices
- Chapter 2: Setting Up API Endpoints
- Chapter 3: Managing Data Persistence with MongoDB
- Chapter 4: Building API Authentication
- Chapter 5: Serving Static HTML in Gin
- Chapter 6: Scaling a Gin Application
- Section 3: Beyond the Basics
- Chapter 7: Testing Gin HTTP Routes
- Chapter 8: Deploying the Application on AWS
- Chapter 9: Implementing a CI/CD Pipeline
- Chapter 10: Capturing Gin Application Metrics
-
Assessments
- Chapter 1 – Getting started with Gin
- Chapter 2 – Setting up API Endpoints
- Chapter 3 – Managing Data Persistence with MongoDB
- Chapter 4 – Building API Authentication
- Chapter 5 – Serving Static HTML in Gin
- Chapter 7 – Testing Gin HTTP Routes
- Chapter 8 – Deploying the Application on AWS
- Chapter 9 – Implementing a CI/CD Pipeline
- Why subscribe?
- Other Books You May Enjoy
Product information
- Title: Building Distributed Applications in Gin
- Author(s):
- Release date: July 2021
- Publisher(s): Packt Publishing
- ISBN: 9781801074858
You might also like
book
Designing Distributed Systems
Without established design patterns to guide them, developers have had to build distributed systems from scratch, …
book
Distributed Services with Go
This is the book for Gophers who want to learn how to build distributed systems. You …
book
Powerful Command-Line Applications in Go
Whether you want to automate tasks, analyze data, parse logs, talk to network services, or address …
book
Production Kubernetes
Kubernetes has become the dominant container orchestrator, but many organizations that have recently adopted this system …