The ultimate glue for microservices
I am playing with grpc on kubernetes in these days. My starting point is
nginx-kubernets-lb. I wanted to start from small and light solution. But heroku was not an option to play with this. So I had to setup kubernetes on aws. I deployed
Deis too. It took some time to be able to reproduce the production env. This blog is also running on kubernetes. Now, I am ready to play!
gRPC: The Story of Microservices at Square -> https://www.youtube.com/watch?v=-2sWDr3Z0Wo
https://github.com/thesandlord/samples/tree/master/grpc-kubernetes-microservices , video : https://www.youtube.com/watch?v=UOIJNygDNlE, slide: https://speakerdeck.com/thesandlord/building-scalable-microservices-with-kubernetes-grpc-and-containers-api-world-2015
Creating a scalable API with microservices(https://cloudplatform.googleblog.com/2016/06/creating-a-scalable-API-with-microservices.html)
Kelsey Hightower - Building Microservices with gRPC and Kubernetes (http://www.ustream.tv/recorded/86187859)
- ruby gem - download ruby gem instead of installing grpc
- heroku - not suitable for grace. heroku does not support http2. grpc needs that.(https://devcenter.heroku.com/articles/http-routing)
Polyglot is a grpc client which can talk to any grpc server. In order to make a call, the following are required:
- A compiled Polyglot binary,
- the .proto files for the service,
- and a request proto instance in text format.
In particular, it is not necessary to generate grpc classes for the service or to compile the protos into the Polyglot binary.
- Supports unary, client streaming, server streaming, and bidi streaming rpcs.
- Runs on Windows, Mac and Linux.
- Parses proto files at runtime to discover services. Supports pretty-printing discovered services.
- Supports authentication via oauth.
- Accepts request protos through stdin and can output responses to stdout to allow chaining.