GRPC server-side load balancing user and docker

203 views
Skip to first unread message

Amit Ripshtos

unread,
Feb 11, 2017, 12:47:39 PM2/11/17
to grpc.io
Hey guys,
Since I wrote my GRPC server in python , I started to have problems when my c++ clients started sending me *TONS* of messages.
The problem is that I don't have a client-side load balancing in cpp, so I came up with this solution:


What it tries to achieve:
I'm using a docker environment, and I want to automatically scale up or down the GRPC servers when I have load issues.
So I created a load balancer using nghttp2 that it's configurations changes by the amount of the containers of GRPC.

It can be done by using consul+registrator+consul-template and refreshing nghttp2 configurations when needed by sending SIGHUP signal.

I'm starting using it in production real soon and it's looks good so I build a example for you to see.
There is non-secure version only at the moment since I`m trying to make the secure work (it is working for me but I`m struggeling with making certificates)

Hope you will like it and use it!


BTW:
Does it possible to create encryption only in GRPC using SSL?
I don`t want any authentication, but a plain SSL (Just like when you create SSL for web servers and you need to manually verify the SSL using the browser), and I will implement the authentication by myself using metadata header.
I could not accomplish that and if someone might willing to help it will be awesome!


great day,
Amit.

moha...@gmail.com

unread,
Oct 20, 2018, 12:25:28 PM10/20/18
to grpc.io
Hi Amit,

I am trying to implement a scalable gRPC server and seems your implementation could be the right fit as I dont want to put any intellegence on clients. Does your implementation work fine in Kubernetes, because the plan is to run the gRPC server in kubernetes pods.

thanks
Mohan Ram
Reply all
Reply to author
Forward
0 new messages