Re: [grpc-io] Potential contributions to golang grpc implementation

2016-12-06 Thread Arya Asemanfar
OK thanks. We will work around it in the application layer. On Mon, Dec 5, 2016 at 5:54 PM Qi Zhao wrote: > On Mon, Dec 5, 2016 at 5:35 PM, Arya Asemanfar < > arya.aseman...@mixpanel.com> wrote: > > Since a TCP load balancer is only aware of TCP packets and not HTTP2 > frames,

Re: [grpc-io] Potential contributions to golang grpc implementation

2016-12-05 Thread 'Qi Zhao' via grpc.io
On Mon, Dec 5, 2016 at 5:35 PM, Arya Asemanfar wrote: > Since a TCP load balancer is only aware of TCP packets and not HTTP2 > frames, it cannot multiplex requests from multiple clients onto 1 > connection. A TCP load balancer makes a load balancing decision at >

Re: [grpc-io] Potential contributions to golang grpc implementation

2016-12-05 Thread Arya Asemanfar
Since a TCP load balancer is only aware of TCP packets and not HTTP2 frames, it cannot multiplex requests from multiple clients onto 1 connection. A TCP load balancer makes a load balancing decision at connection establishment, not per stream, request, or packet. Re calling Close after a timer

Re: [grpc-io] Potential contributions to golang grpc implementation

2016-12-05 Thread 'Qi Zhao' via grpc.io
I am not clear how the TCP load balancer works. Is it a TCP proxy which forwards the traffic from the client? If yes, your description is still confusing to me because there should be 100 connections from the clients to the TCP proxy and 10 connections from the TCP proxy to the servers. Then I am

Re: [grpc-io] Potential contributions to golang grpc implementation

2016-12-05 Thread Arya Asemanfar
Scenario A, and when I said "restarting server" I mean grpc server. On Mon, Dec 5, 2016 at 2:59 PM Qi Zhao wrote: > I am still confused. The scenario you want to serve as an example is > a) grpc clients --> TCP LB --> grpc servers; > or > b) grpc clients --> grpc servers? > >

Re: [grpc-io] Potential contributions to golang grpc implementation

2016-12-05 Thread 'Qi Zhao' via grpc.io
I am still confused. The scenario you want to serve as an example is a) grpc clients --> TCP LB --> grpc servers; or b) grpc clients --> grpc servers? On Mon, Dec 5, 2016 at 2:49 PM, Arya Asemanfar wrote: > Sorry, I meant grpc server. Yes you are right if the TCP

Re: [grpc-io] Potential contributions to golang grpc implementation

2016-12-05 Thread Arya Asemanfar
Sorry, I meant grpc server. Yes you are right if the TCP load balancer restarts there is no problem, so my scenario only applies if the grpc server restarts. On Mon, Dec 5, 2016 at 2:17 PM Qi Zhao wrote: > On Mon, Dec 5, 2016 at 12:13 PM, Arya Asemanfar < >

Re: [grpc-io] Potential contributions to golang grpc implementation

2016-12-05 Thread 'Qi Zhao' via grpc.io
On Mon, Dec 5, 2016 at 12:13 PM, Arya Asemanfar wrote: > Thanks for the feedback. Good idea re metadata for getting the Balancer to > treat the connections as different. Will take a look at that. > > Some clarifications/questions inline: > > On Mon, Dec 5, 2016 at

Re: [grpc-io] Potential contributions to golang grpc implementation

2016-12-05 Thread Arya Asemanfar
Thanks for the feedback. Good idea re metadata for getting the Balancer to treat the connections as different. Will take a look at that. Some clarifications/questions inline: On Mon, Dec 5, 2016 at 11:11 AM, 'Qi Zhao' via grpc.io < grpc-io@googlegroups.com> wrote: > Thanks for the info. My

[grpc-io] Potential contributions to golang grpc implementation

2016-12-04 Thread Arya Asemanfar
Hey all, We're considering implementing some patches to the golang grpc implementation. These are things we think would better fit inside of grpc rather than trying to achieve from outside. Before we go through the effort, we'd like to gauge whether these features would be welcome (assuming