Why gRPC?

Click for: original source

Short explanation focusing on gRPC and it’s implementation in Akka (Scala). gRPC is a transport mechanism for request / response and (non-persistent) streaming use cases. Akka gRPC is Open Source and available under the Apache 2 License.

It is a schema-first RPC framework, where your protocol is declared in a protobuf service descriptor, and requests and responses will be streamed over an HTTP/2 connection.

It has several advantages, including Schema-first design favors well-defined and decoupled service interfaces over brittle ad-hoc solutions; Protobuf-based wire protocol is efficient, well-known, and allows compatible schema evolution; Based on HTTP/2 which allows multiplexing several data streams over a single connection.

It is great for:

  • Connections between internal services
  • Connecting to external services that expose a gRPC API (even ones written in other languages)
  • Serving data to web or mobile front-ends

To get more information how it compares to REST, SOAP, Message Bus and Akka Remoting follow the link to original source. Easy!

[Read More]

Tags akka scala functional-programming java web-development