gRPC Introduction and Implementation Using .NET Core 6

Prerequisites

  1. "Visual Studio 2022"
  2. Basic Knowledge of C#

Agenda

  • Introduction of gRPC
  • Scenarios Where gRPC is Used
  • Pros and Cons of gRPC
  • Implementation of gRPC

Introduction

  • gRPC stands for Google Remote Procedure Calls.
  • 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 the last mile of distributed computing to connect devices, mobile applications, and browsers to back-end services. — gRPC Website
gRPC Server

Figure From grpc.io

  • gRPC is the framework used to implement APIs using HTTP/2.
  • gRPC uses protocol buffers (protobuf) for serialization and the HTTP/2 protocol, which provides more advantages than HTTP.
  • gRPC clients and servers intercommunicate using a variety of environments and machines. It also supports many languages like Java, C#, Go, Ruby, and Python.
  • The binary layer of gRPC will do all data operations like encoding and uses protobuf as an intermediator between client and server, improving performance.
  • It is also used for communication between multiple microservices efficiently.

Scenarios Where gRPC Is Used

  • When we use microservice architecture, we use it for internal communication from one or more servers.
  • When performance is a high priority and low latency.
  • When we require duplex communication between services with different types of data.

Pros and Cons of gRPC

gRPC Pros

  • High performance—faster than REST and SOAP
  • Lightweight messages—gRPC messages are more lightweight than other types like JSON.
  • Higher efficiency 
  • Duplex data streaming

gRPC Cons

  • Limited browser support
  • Uses binary data because it’s not easily readable like JSON or XML.

Implementation of gRPC

Step 1

Create a new gRPC project