In this chapter, we are going to enter the world of protocol buffers. The REST API needs support from other internal services. Those internal services can implement a Remote Procedure Call (RPC) and use a protocol buffer as a data exchange format. First, we will discover the benefits of using protocol buffers instead of JSON for services, and where to use both. We will use Google's proto library to compile protocol buffers. We will also try to write a few web services with protocol buffers that can talk to either Go, or other applications such as Python and Node.js. Then, we'll explain gRPC, an advanced simplified form of RPC. We will learn how gRPC and protocol buffers can help us build low-bandwidth services that can be consumed by different clients. Finally, we will discuss HTTP/2 and its benefits over plain HTTP/1.1-based services...

Hands-On RESTful Web Services with Go
By :

Hands-On RESTful Web Services with Go
By:
Overview of this book
Building RESTful web services can be tough as there are countless standards and ways to develop API. In modern architectures such as microservices, RESTful APIs are common in communication, making idiomatic and scalable API development crucial. This book covers basic through to advanced API development concepts and supporting tools.
You’ll start with an introduction to REST API development before moving on to building the essential blocks for working with Go. You’ll explore routers, middleware, and available open source web development solutions in Go to create robust APIs, and understand the application and database layers to build RESTful web services. You’ll learn various data formats like protocol buffers and JSON, and understand how to serve them over HTTP and gRPC. After covering advanced topics such as asynchronous API design and GraphQL for building scalable web services, you’ll discover how microservices can benefit from REST. You’ll also explore packaging artifacts in the form of containers and understand how to set up an ideal deployment ecosystem for web services. Finally, you’ll cover the provisioning of infrastructure using infrastructure as code (IaC) and secure your REST API.
By the end of the book, you’ll have intermediate knowledge of web service development and be able to apply the skills you’ve learned in a practical way.
Table of Contents (16 chapters)
Preface
Getting Started with REST API Development
Handling Routing for our REST Services
Working with Middleware and RPC
Simplifying RESTful Services with Popular Go Frameworks
Working with MongoDB and Go to Create a REST API
Working with Protocol Buffers and gRPC
Working with PostgreSQL, JSON, and Go
Building a REST API Client in Go
Asynchronous API Design
GraphQL and Go
Scaling our REST API Using Microservices
Containerizing REST Services for Deployment
Deploying REST Services on Amazon Web Services
Handling Authentication for our REST Services
Other Books You May Enjoy
How would like to rate this book
Customer Reviews