What is gRPC introduction gRPC Explained

253 views 11 slides Dec 04, 2022
Slide 1
Slide 1 of 11
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11

About This Presentation

what is gRPC ?
gRPC tutorial.


Slide Content

What is gRPC ?

Introduction to RPC RPC aka Remote Procedure Calls - are just like functions. These functions are executed on some remote system and hence the name. It follows a request - response model. A request is initiated from the client - this request is a function call with certain parameters and then, the server returns a response. Real world application - to construct distributed, scalable, client - server based applications.

Introduction to gRPC gRPC  ( Google Remote Procedure Calls [2] ) is a  cross-platform  open source high performance Remote Procedure Call (RPC) framework. gRPC was initially created by Google, which has used a single general-purpose RPC infrastructure called Stubby to connect the large number of microservices running within and across its data centers for over a decade [ when? ] . In March 2015, Google decided to build the next version of Stubby and make it open source. The result was gRPC , which is now used in many organizations outside of Google to power use cases from microservices to the “last mile” of computing (mobile, web, and Internet of Things).

Introduction to gRPC It uses  HTTP/2  for transport,  Protocol Buffers  as the  interface description language , and provides features such as authentication, bidirectional streaming and  flow control , blocking or nonblocking bindings, and cancellation and timeouts. It generates cross-platform client and server bindings for many languages. Most common usage scenarios include connecting services in a  microservices  style architecture, or connecting mobile device clients to backend services. [3] gRPC's complex use of HTTP/2 makes it impossible to implement a gRPC client in the browser, instead requiring a proxy.

gRPC clients and servers can run and talk to each other in a variety of environments - from servers inside Google to your own desktop - and can be written in any of gRPC’s supported languages. So, for example, you can easily create a gRPC server in Java with clients in Go, Python, or Ruby. In addition, the latest Google APIs will have gRPC versions of their interfaces, letting you easily build Google functionality into your applications.

How gRPC works ? gRPC is a light-weight binary based RPC communication protocol brought out by Google. gRPC uses binary as its core data format. In RESTful services, using JSON, we would be sending a string over http. Strings contain bulky metadata about its encoding format; about its length, its content format and various other bits and pieces.

Benefits of gRPC gRPC offers a refreshed take on the old RPC design method by making it interoperable, modern, and efficient using such technologies as Protocol Buffers and HTTP/2. The following benefits make it a solid candidate for replacing REST in some operations. Lightweight messages.  Depending on the type of call, gRPC -specific messages can be up to  30 percent  smaller in size than JSON messages. High performance . By different evaluations, gRPC is  5 ,  7 , and even  8  times faster than REST+JSON communication. Built-in code generation . gRPC has automated code generation in different programming languages including  Java , C++, Python, Go,  Dart ,  Objective-C , Ruby, and more. More connection options . While REST focuses on request-response architecture, gRPC provides support for  data streaming  with event-driven architectures: server-side streaming, client-side streaming, and bidirectional streaming.

Use of gRPC in industry 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. A number of different organizations have adopted gRPC , such as  Uber , [7]   Square ,  Netflix ,  IBM ,  CoreOS ,  Docker ,  CockroachDB ,  Cisco ,  Juniper Networks , [8]   Spotify , [9]   Zalando , [10]   Dropbox , [11]  and Google as the original developer.

Summary gRPC is a modern open source high performance 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. Cloud Native Computing Foundation is the new home for  gRPC  and its existing ecosystem projects ( https://github.com/grpc  and  https://github.com/grpc-ecosystem )

THANK YOU Like the Video and Subscribe the Channel