gRPC client-side load balancing — why, what, how and WTF?

 /  RU

We'll talk about the popular technology for organizing interaction — gRPC. Let's talk about its main features and how to use them, focusing on the issue of load balancing. Usually, additional components are used for this task - nginx, envoy, istio, etc., but in some cases adding additional elements to the system is undesirable. Moreover, the Java implementation of gRPC is capable of many things on its own, but getting it to work is not so easy...

To figure out how to activate the required functionality, open manuals are lacking. To find out the truth, we will delve deeper into the Java code of GRPC, figure out how it was conceived by the authors, and try to figure out how to live with it further.


Dmitry Bugaychenko
Dmitry Bugaychenko

Graduated from St. Petersburg State University in 2004, got a PhD degree in the field of the formal logical methods in 2007. Spent almost 9 years in outsourcing without losing contact with the university and research community. Big data analysis at Odnoklassniki became for Dmitry an unique chance to combine theoretical knowledge and scientific foundation with the development of real and popular products. And this chance he gladly took advantage of by coming there in 2011. Joined Sberbank team in 2019.