Coder Social home page Coder Social logo

grpc's Introduction

๐–๐ก๐š๐ญ'๐ฌ ๐š ๐ ๐‘๐๐‚?

image

๐Ÿ“– gRPC is an open-source remote procedure call framework created by Google in 2016.

A local procedure call is a function call in a process to execute code. gRPC is a popular RPC implementation.

The core of this ecosystem uses ๐๐ซ๐จ๐ญ๐จ๐œ๐จ๐ฅ ๐๐ฎ๐Ÿ๐Ÿ๐ž๐ซ๐ฌ as its data exchange format.

๐Ÿ’กProtocol Buffers is a language-agnostic and platform-agnostic mechanism for encoding structured data.

By default, gRPC uses Protocol Buffers to encode and send data.

While gRPC can support other encoding formats, such as ๐‰๐’๐Ž๐, Protocol Buffers offer several advantages that make it the encoding format of choice for gRPC.

Protocol Buffers support ๐ฌ๐ญ๐ซ๐จ๐ง๐ ๐ฅ๐ฒ-๐ญ๐ฒ๐ฉ๐ž๐ schema. The data structure is defined in a proto file.

๐Ÿ“ŒA gRPC service is also defined in a ๐ฉ๐ซ๐จ๐ญ๐จ ๐Ÿ๐ข๐ฅ๐ž by specifying RPC method parameters and return types.

The same tool generates gRPC client and server code from the proto file.

Developers use these generated classes on the client to make RPC calls and on the server to make RPC requests.

With support for many programming languages, the client and server can independently choose the correct programming language and ecosystem for their specific use cases.

๐Ÿ’ช๐Ÿป The reason for the popularity of gRPC is its high performance. Two factors contribute to its performance.

๐“๐ก๐ž ๐Ÿ๐ข๐ซ๐ฌ๐ญ is Protocol Buffers are a very efficient binary encoding format. It is much faster than JSON.

๐’๐ž๐œ๐จ๐ง๐, gRPC is built on top of HTTP/2 to deliver high performance at scale.

๐Ÿ“ŒThere are many advantages to using HTTP/2.

This allows ๐ฌ๐ญ๐ซ๐ž๐š๐ฆ๐ฌ ๐จ๐Ÿ ๐ฆ๐ž๐ฌ๐ฌ๐š๐ ๐ž๐ฌ to be sent over a long-lived TCP connection.

This allows the gRPC framework to handle many simultaneous RPC calls over a ๐ฌ๐ฆ๐š๐ฅ๐ฅ ๐ง๐ฎ๐ฆ๐›๐ž๐ซ ๐จ๐Ÿ ๐“๐‚๐ ๐œ๐จ๐ง๐ง๐ž๐œ๐ญ๐ข๐จ๐ง๐ฌ between clients and servers.

๐Ÿ˜ž No browser currently provides the level of control over web requests required to support a gRPC client.

It is possible to make gRPC calls from the browser with the help of a proxy. This technology is called gRPC-Web.

So, where does gRPC shine, and when should we use it?

๐Ÿ‘ฌ gRPC is an ๐ข๐ง๐ญ๐ž๐ซ-๐ฌ๐ž๐ซ๐ฏ๐ข๐œ๐ž ๐œ๐จ๐ฆ๐ฆ๐ฎ๐ง๐ข๐œ๐š๐ญ๐ข๐จ๐ง mechanism chosen between ๐ฆ๐ข๐œ๐ซ๐จ๐ฌ๐ž๐ซ๐ฏ๐ข๐œ๐ž๐ฌ in data centers.

๐Ÿ“ฑIts efficiency and performance are very meaningful in environments with limited energy and bandwidth, which are ๐ฆ๐จ๐›๐ข๐ฅ๐ž ๐๐ž๐ฏ๐ข๐œ๐ž๐ฌ.

grpc's People

Contributors

srinivas-ramu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.