elixir-grpc / grpc

An Elixir implementation of gRPC
https://hex.pm/packages/grpc
Apache License 2.0
1.38k stars 212 forks source link

Add support for load balancing #257

Open polvalente opened 2 years ago

polvalente commented 2 years ago

The gRPC.io blog has a great post regarding load balancing.

Since some use cases for gRPC don't have an explicit proxy between services, we should investigate how to implement it from the client side.

Another reference on the suggested architecture from the gRPC github repo: https://github.com/grpc/grpc/blob/master/doc/load-balancing.md

hkrutzer commented 2 years ago

One way of doing load balancing as mentioned on the linked document is using xDS, however, xDS has other features that might be useful as well but requires a lot more work. It might be a good idea to scope this issue to limit this issue to pick_first and round_robin load balancing (grpclb is deprecated), and have a separate issue for xDS features.

polvalente commented 2 years ago

One way of doing load balancing as mentioned on the linked document is using xDS, however, xDS has other features that might be useful as well but requires a lot more work. It might be a good idea to scope this issue to limit this issue to pick_first and round_robin load balancing (grpclb is deprecated), and have a separate issue for xDS features.

Agreed, those two seem like a good place to start