Source. ▪ High Performance Remote Procedure Call (RPC). ▪ That can run in any environment. ▪ Connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. ▪ It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services.
Client-Server model using function calls rather than http calls. ▪ Uses Interface Definition Language as a form of contact to be called and on the data types. ▪ Lots of competing technologies to accomplish similar tasks. Web Services, API, RPC, etc ▪ Not a new concept, adapted and improved upon. ▪ The gRPC Stack developed by Google (hence the g) and Open Sourced in 2015. (Ok even google pokes fun o the g – ref https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md) ▪ Is based on protocol buffers, protobuf file and HTTP/2. HTTP/2 offers long-lived connections to create a performant, robust platform for inter-service communication. ▪ It is supported in a lot of Languages – 11 including C#, Java, Python, Go …
February 16, 2017 and is in the Incubating project maturity level. ▪ Why is gRPC so popular? Language support, performant, abstraction, simpler than http calls and microservices.
method on a server application on a different machine. ▪ Language agnostic. Different languages can speak to each other. ▪ gRPC server defines services that can be called remotely. ▪ Client side has a stub which provides same methods as the server. ▪ gRPC uses Protocol Buffers to accomplish this.
main way this technology works. ▪ From Google and is an open source mechanism for serializing structured data. ▪ They define a structure that both sides use during the requests and responses.
https://blog.gopheracademy.com/advent-2015/etcd-distributed-key-value- store-with-grpc-http2/ ▪ Square used in different languages https://www.youtube.com/watch?v=-2sWDr3Z0Wo ▪ Many others