Finally! Up until now, when people ask how they are supposed to proxy grpc traffic, we could only recommend Envoy. Pretty much no one wants to hear that they have to change their stack to use new technology. Since a large part of the world is already on nginx, this was a a real barrier for adoption. Next up, browser support?
> Next up, browser support? Please! There is a working TypeScript client implementation [0] of gRPC-Web [1], which relies on a custom proxy for converting gRPC to gRPC-Web [2]. Would be nice to bring that proxy functionality into Nginx. [0] https://github.com/improbable-eng/grpc-web/tree/master/ts [1] https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-WEB.md [2] https://github.com/improbable-eng/grpc-web/tree/mast…
Announcing gRPC Support in Nginx
61–70 of 81 posts
Re: Announcing gRPC Support in Nginx
#62OK so what are good use cases for gRPC? What problem does it solve, and in what contexts should I be reaching for gRPC?
FB's Thrift also solves the same problem, and is an alternative to gRPC.
Re: Announcing gRPC Support in Nginx
#63OK so what are good use cases for gRPC? What problem does it solve, and in what contexts should I be reaching for gRPC?
I used gRPC for numerous hobby projects during my undergrad to glue together binaries running in different languages (e.g. a simulation server running in C++ and a scripting client in Python). By passing around a shared data structure (Protobufs), one does not need to waste time writing serialization/de-serialization adapters. It is also useful for gluing together microservices. FB's Thrift also solves the same probl…
Re: Announcing gRPC Support in Nginx
#64Re: Announcing gRPC Support in Nginx
#65OK so what are good use cases for gRPC? What problem does it solve, and in what contexts should I be reaching for gRPC?
Re: Announcing gRPC Support in Nginx
#66OK so what are good use cases for gRPC? What problem does it solve, and in what contexts should I be reaching for gRPC?
Also, anywhere that you might use RPC you could use gRPC. It has a compact wire format and is pretty user-friendly as far as designing your RPC req/rep types.
Re: Announcing gRPC Support in Nginx
#67OK so what are good use cases for gRPC? What problem does it solve, and in what contexts should I be reaching for gRPC?
Re: Announcing gRPC Support in Nginx
#68I love seeing grpc grow. An rpc system with a schema and code generation is a must for internal services. Grpc has worked really well for me.
No disrespect intended, but I find this comment pretty funny. SOAP/XML has been exactly this for 20 years. It definitely has some major warts, but gRPC isn’t doing anything new.
Re: Announcing gRPC Support in Nginx
#69OK so what are good use cases for gRPC? What problem does it solve, and in what contexts should I be reaching for gRPC?
Personally I find the autogenerated client code to be the biggest upside. Anyone who wants to use your API, in any language supported by the RPC, can start doing it with very little work. Gone are the days of maintaining officially-supported client libraries.
Re: Announcing gRPC Support in Nginx
#70This is great! TL;DR: instead of building JSON or GraphQL API now you can easily expose your gRPC service to the outside world! We use gRPC in my company. We're happy but some things were not easy or straightforward to implement. With this update nginx makes load balancing and authentication easier to implement.
But they’re both essentially solving the dev problem of having ‘typed contracts’ right?
Very interesting evolution! SOAP to REST to graphql more popular on the ‘frontend’ side and grpc on the ‘backend’ side.