gRPC works on HTTP/2. The TCP connection on the HTP/2 is long-lived and a single connection can multiplex many requests. That means that connection-level load balancing is not very useful. The default load balancing in Kubernetes is based on connection level load balancing. This article is about how to implement load balancing using Kubernetes headless service.
Kind is a great tool for local Kubernetes setup. Using Kind you can run a multi-node Kubernetes cluster locally. This article discusses about deploying and accessing a microservice application in local Kubernetes.
Minikube is a great tool for local Kubernetes setup. Minikube allows you to run Kubernetes locally. This article discusses about deploying and accessing a microservice application in local Kubernetes.
Handling errors can be hard and it’s even harder if your application consists of many microservices exposing a mixture of REST and RPC APIs. The consumer of your API needs a consistent experience of error handling. In this article, we will see how to develop error handling, which works across RESTFul APIs and gRPC API.
Getting errors right can be tricky and it can be even trickier in gRPC. The current version of gRPC only has limited built-in error handling based on simple status codes and metadata. In this article, we will see what are limitations of gRPC error handling and how to overcome that
An API Gateway or Backend for frontend (BFF) is an important design pattern for building applications based on microservices architecture. This reduces chattiness between clients and services by aggregating multiple requests into a single request. We can build specialized BFF services(s) to handle different interfaces for browser and mobile applications. The API Gateway can also be used to offload cross-cutting concerns such as authentication, authorization, rate limiting to a proxy.