Presented By: Yash Gupta
Akka gRPC
Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
Punctuality
Respect Knolx session timings, you
are requested not to join sessions
after a 5 minutes threshold post
the session start time.
Feedback
Make sure to submit a constructive
feedback for all sessions as it is
very helpful for the presenter.
Mute
Please keep your window on mute
Avoid Disturbance
Avoid leaving your window
unmuted after asking a question
Agenda
01 Introduction to gRPC
02 Why gRPC
04 Demo
What’s Akka gRPC
03
gRPC
gRPC
● gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that
can run in any environment. It can efficiently 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.
Why gRPC
Why ?
➔ Nowadays Microservice architecture is in demand.
➔ The microservices must share data and reach an agreement on:
◆ The API to exchange data
● REST
● SOAP
◆ The data format
● JSON
● XML
◆ The error pattern
◆ Load Balancing
◆ Many other
➔ Now If we talk about only the building an API
◆ It's hard
While building an API we need to take care of:
● Data models JSON, YAML
● Endpoints “/api/v2/list/users/filters/123” complicated right??
● Latency
● Load balancing
● Interoperability
● Authentication
● Logging
● Many more
Framework
What’s Akka gRPC
Akka gRPC
Akka gRPC provides support for building streaming gRPC servers and clients on top of Akka Streams and
Akka HTTP.
It features:
● A generator, that starts from a protobuf service definitions, for:
● Model classes
● The service API as a Scala trait using Akka Stream Sources
● On the server side, code to create an Akka HTTP route based on your implementation of the service
● On the client side side, a client for the service
● gRPC Runtime implementation that uses
● Akka HTTP/2 support for the server side and
● grpc-netty-shaded for the client side.
● Support for sbt, gradle, Maven, and the Play Framework.
Demo
Thank You !

Akka gRPC quick-guide

  • 1.
    Presented By: YashGupta Akka gRPC
  • 2.
    Lack of etiquetteand manners is a huge turn off. KnolX Etiquettes Punctuality Respect Knolx session timings, you are requested not to join sessions after a 5 minutes threshold post the session start time. Feedback Make sure to submit a constructive feedback for all sessions as it is very helpful for the presenter. Mute Please keep your window on mute Avoid Disturbance Avoid leaving your window unmuted after asking a question
  • 3.
    Agenda 01 Introduction togRPC 02 Why gRPC 04 Demo What’s Akka gRPC 03
  • 4.
  • 5.
    gRPC ● gRPC isa modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment. It can efficiently 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.
  • 6.
  • 7.
    Why ? ➔ NowadaysMicroservice architecture is in demand. ➔ The microservices must share data and reach an agreement on: ◆ The API to exchange data ● REST ● SOAP ◆ The data format ● JSON ● XML ◆ The error pattern ◆ Load Balancing ◆ Many other ➔ Now If we talk about only the building an API ◆ It's hard
  • 8.
    While building anAPI we need to take care of: ● Data models JSON, YAML ● Endpoints “/api/v2/list/users/filters/123” complicated right?? ● Latency ● Load balancing ● Interoperability ● Authentication ● Logging ● Many more Framework
  • 9.
  • 10.
    Akka gRPC Akka gRPCprovides support for building streaming gRPC servers and clients on top of Akka Streams and Akka HTTP. It features: ● A generator, that starts from a protobuf service definitions, for: ● Model classes ● The service API as a Scala trait using Akka Stream Sources ● On the server side, code to create an Akka HTTP route based on your implementation of the service ● On the client side side, a client for the service ● gRPC Runtime implementation that uses ● Akka HTTP/2 support for the server side and ● grpc-netty-shaded for the client side. ● Support for sbt, gradle, Maven, and the Play Framework.
  • 11.
  • 12.