Re: [grpc-io] Any one is using nginx to do reverse proxy for gRPC here?

2017-04-17 Thread 'Louis Ryan' via grpc.io
Not currently supported but it should be soon. Stay tuned. In the meantime have you tried Envoy from Lyft ? On Sun, Apr 16, 2017 at 8:57 PM, Peng Gao wrote: > I am doing experiments how to support HTTP2 and gRPC, but it seems nginx > doesn't support full HTTP2 spec, and

Re: [grpc-io] Proposal: true binary encoding for metadata

2017-04-07 Thread 'Louis Ryan' via grpc.io
Can you elaborate in the spec on why the NUL prefix is needed? You mention the alternatives but not why this is being done, I presume it's to disambiguate with base64 encoded stuff while setting negotiation is in flight. Otherwise LGTM +cc Piotr re our recent discussion about the IETF proposal

Re: [grpc-io] Optimize for streaming large amount of small messages

2017-04-03 Thread 'Louis Ryan' via grpc.io
This is expected as with streaming we rely on timing to coalesce small writes whereas with batching you can precisely control the number of messages in a write to the socket. There's an open issue (and prototype) for corking which allows you to control the grain of writes to a socket without

Re: [grpc-io] Re: gRFC A4: Header Extraction

2017-02-02 Thread 'Louis Ryan' via grpc.io
On Thu, Feb 2, 2017 at 3:34 PM, Craig Tiller wrote: > Alternative proposal: > - this mechanism only allows single field extraction, with no string > processing > This seems like a very reasonable restriction if we're allowing more than one header value to be produced. Given

Re: [grpc-io] Re: gRFC A4: Header Extraction

2017-02-02 Thread 'Louis Ryan' via grpc.io
On Thu, Feb 2, 2017 at 1:19 PM, Alfred Fuller wrote: > I think this type of config is very service centric, not interface > centric. For example, look at the LRO API. Different services use the same > protobuf, but have different resource name formats. If the requirement was

Re: [grpc-io] Re: gRFC A4: Header Extraction

2017-02-02 Thread 'Louis Ryan' via grpc.io
I'm a little confused by this spec. Given that protobuf is backed by a significant amount of code-generation and expression handling machinery why is the spec putting responsibility for the extraction and formatting of these headers on the GRPC runtime? Is there some requirement to be able to

Re: [grpc-io] gRFC L1: C++ streaming coalescing API's

2017-01-13 Thread 'Louis Ryan' via grpc.io
How is this logically different from per-stream 'corking' ? We want the ability to coalesce the writes for groups of messages on a stream, not just the head and tail of a stream, it seems like a generic cork mechanism can cover headers and trailers too On Fri, Jan 13, 2017 at 5:19 PM, 'Craig

Re: [grpc-io] Re: Contribution Topics (especially Java/Android)

2017-01-10 Thread 'Louis Ryan' via grpc.io
+cc piotr who is doing work to support 'upstream' http2 in nginx which would by implication support GRPC so we're pretty well covered there. If you're interested in doing something with proxies you should take a look at https://lyft.github.io/envoy/ with whom we're doing some work too. If you

Re: [grpc-io] Re: http2 reverse proxy:how to reduce connections with backend server(s)?

2016-12-02 Thread 'Louis Ryan' via grpc.io
I would take a look at Lyft's Envoy to perform the same role here too if you're not too married to Java for the proxy On Thu, Dec 1, 2016 at 6:18 PM, killjason wrote: > @Josh Humphries, your plan is nice, gRPC currently not support init stream > in server side, so this

Re: [grpc-io] Using grpc for raw http2

2016-11-15 Thread 'Louis Ryan' via grpc.io
You're probably better off using the Netty HTTP2 library directly for basic HTTP functionality On Thu, Nov 10, 2016 at 1:57 PM, wrote: > Primarily Java. > > -- > You received this message because you are subscribed to the Google Groups " > grpc.io" group. > To unsubscribe

Re: [grpc-io] Using grpc for raw http2

2016-11-10 Thread 'Louis Ryan' via grpc.io
What environment / platform do you want to do this on? On Thu, Nov 10, 2016 at 8:21 AM, wrote: > Is it possible to use grpc for raw http2 access? I'd like to take > advantage of the same load balancing, name resolution, and interceptors for > some non-grpc/vanilla http2

Re: [grpc-io] Re: Does GRPC-java reuse SSL connections

2016-10-27 Thread 'Louis Ryan' via grpc.io
Using a single channel is usually the right choice until you hit a certain level of traffic. What is your aggregate QPS of calls here and total bandwidth? On Thu, Oct 27, 2016 at 4:08 PM, 'Carl Mastrangelo' via grpc.io < grpc-io@googlegroups.com> wrote: > A channel will reuse connections.

Re: [grpc-io] gRPC Load Balancing

2016-10-27 Thread 'Louis Ryan' via grpc.io
On Thu, Oct 27, 2016 at 5:51 AM, Alex Lamaison wrote: > I'm trying to understand the ways of load balancing gRPC calls and the > trade offs. > > What is the current recommended way of load-balancing gRPC requests? > There is no specific recommendation as it would depend

Re: [grpc-io] gRPC Proto3 performance vs Apache thrift perfomance

2016-10-25 Thread 'Louis Ryan' via grpc.io
On Tue, Oct 25, 2016 at 11:28 AM, chad_walters via grpc.io < grpc-io@googlegroups.com> wrote: > "GRPC is doing more work than Thrift that comes at a cost, the metadata > exchange features are a built-in for GRPC that Thrift does not have" > > Can you elaborate on this comment a bit? I am

Re: [grpc-io] gRPC static paths?

2016-10-19 Thread 'Louis Ryan' via grpc.io
Its the difference between "/service/method" (a fixed string identifying the operation - RPC) and /collection/{resource-id} (where a parameter of the call is a variable component of the REST path). Using fixed strings speeds up dispatching logic and on HTTP2 improves header caching behaviors. On

Re: [grpc-io] io.grpc.okhttp.OkHttpTransportTest > newStream_duringShutdown FAILED

2016-10-11 Thread 'Louis Ryan' via grpc.io
You should be able to get some more verbose logs out. Can you debug that test on your platform to make sure that ALPN boot is being applied? There is no tcnative build for your arch today so it's likely that the Netty server being run to service the test does not support TLS properly. On Mon,

Re: [grpc-io] Re: grpc + appengine? Is this possible?

2016-10-11 Thread 'Louis Ryan' via grpc.io
+cc wenbo On Tue, Oct 11, 2016 at 11:07 AM, wrote: > I was hoping to host a gRPC service I wrote that manages a GKE cluster in > AppEngine. Is this still not possible? The http://www.grpc.io/docs/ has a > "Web *(Coming soon) - Early Access Sign Up". I tried to sign up, but

Re: [grpc-io] What's the difference between BytesValue and BytesString ?

2016-10-08 Thread 'Louis Ryan' via grpc.io
BTW If you want a thorough file-like API see. https://github.com/googleapis/googleapis/blob/master/google/bytestream/bytestream.proto On Sat, Oct 8, 2016 at 3:45 PM, Louis Ryan wrote: > > > On Sat, Oct 8, 2016 at 8:48 AM, Smallufo Huang wrote: > >> I

Re: [grpc-io] Re: gRPC-java seems slow with multi-level proto

2016-10-04 Thread 'Louis Ryan' via grpc.io
Have you tested the bandwidth between the two machines using Netperf ? You handling of streaming using isReady/onReady is good, we have an improvement planned to add 'corking' https://github.com/grpc/grpc-java/issues/994 which can substantially improve throughput when dealing with large numbers

Re: [grpc-io] Dynamic Service Registration server side in Java

2016-10-03 Thread 'Louis Ryan' via grpc.io
ServerBuilder... .addService(new ServiceImplOne()) .addService(new ServiceImplTwo()) .build()l where ServiceImplOne is a concrete subclass of a generated stubs XXXImplBase class (look for an abstract class in the generated code which implements BindableService) On Mon, Oct 3, 2016 at

Re: [grpc-io] gRPC Proto3 performance vs Apache thrift perfomance

2016-09-30 Thread 'Louis Ryan' via grpc.io
A few things jump out that you'll want to look at... - Make sure GRPC does not have TLS enabled - When creating your server call ServerBuilder.directExecutor (We don't usually recommend this for real world usage as it makes the network thread block on application code but that's what you're

Re: [grpc-io] Re: Implementing a REST API in Java

2016-08-25 Thread 'Louis Ryan' via grpc.io
I think you don't want to write a 'filter' over the GRPC server code. I think Paul was suggesting that you write your own servlet that manually wraps a generated GRPC client-stub and produces the output that you want. You can then run that code in the same process and connect to a GRPC server

Re: [grpc-io] [grpc-java] client-side reconnect

2016-08-25 Thread 'Louis Ryan' via grpc.io
You probably want to use CallOptions.withWaitForReady() so that the call queues until the transport becomes available. On Thu, Aug 25, 2016 at 1:54 PM, Ivan Vaskevych wrote: > Yes, I can reuse the Channel. But I do so from the onError of my > StreamObserver and it

Re: [grpc-io] Implementing a REST API in Java

2016-08-18 Thread 'Louis Ryan' via grpc.io
I don't think anyone is looking at providing the same functionality as a Java library today but we've talked about building it into nginx if that would help. Contributions certainly welcome On Thu, Aug 18, 2016 at 9:48 AM, wrote: > Our app has a REST API we've

Re: [grpc-io] Google Global Load Balancer support for gRPC?

2016-08-11 Thread 'Louis Ryan' via grpc.io
Still not yet supported by GCLB. As far as OSS proxies that work you can also use nghttpx On Thu, Aug 11, 2016 at 7:19 AM, Michal Witkowski wrote: > We kinda build something gRPC specific for doing rich load balancing on

Re: [grpc-io] How close is gRPC to a release candidate?

2016-07-27 Thread 'Louis Ryan' via grpc.io
Paul, On Wed, Jul 27, 2016 at 10:00 AM, Paul Grosu wrote: > > I understand the need, but rushing things with a complex programming > project such as this does not always translate into quality. With this > project I would prefer Google to take their time to do it right. The

Re: [grpc-io] gRPC call time overhead

2016-07-27 Thread 'Louis Ryan' via grpc.io
A step function like that is pretty odd. What kind of payload are you using? Just to isolate that out could you benchmark your message serialization for the same range of sizes? As a general rule I would expect to see a benchmark of sequential request/responses with 'typical' 1k protobufs between