Hello Everyone!
This post is focused on how we can achieve load balancing using the gRPC protocol.
gPRC is a technology for implementing RPC APIs that uses http/2 as its underlying protocol.
Why do we need special Load Balancing for gRPC ?
As compared to JSON-over-HTTP, gRPC breaks standard connection-based load balancing as it is built on HTTP/2. HTTP/2 is connection persistent and can allow long-lived TCP connection across which all the requests are multiplexed (multiple requests can be active on the single connection at any point in time). It significantly minimizes the overhead for connection management efforts. However, it means that connection-level load-balancing cant be used in this case once the connection is established. All the requests can be entertained at a single destination.