DEV Community

Cover image for O que é gRPC?
Cristian Magalhães
Cristian Magalhães

Posted on • Edited on

5

O que é gRPC?

Eae gente bonita, beleza?

Dessa vez eu resolvi trazer um pouco sobre gRPC, ou melhor dizendo Google Remote Procedure Call. É um tópico que ando lendo e acho importante saber o que significa e para que serve. Então vou deixar uma luz aqui para vocês e se curtirem eu posso trazer mais sobre, blz?

Beleza

O que é?

De uma forma simples ele é usado para fazer comunicações entre sistemas. No caso ele substituiria o nosso amado REST, sendo útil para comunicação entre APIs.

Da onde veio?

O gRPC é um framework desenvolvido pelo Google que surgiu para facilitar a comunicação entre sistemas fazendo algo que seja leve, rápido e não fique preso a linguagem alguma.

Onde usar?

  • Microsserviços: O gRPC é muito bom para ser usado em microsserviços, pois em ambientes em que a necessidade de comunicação entre sistemas é constante ele acaba se saindo muito bem.

  • Mobile, Browsers e Backend: Você pode usar o gRPC em vários tipos de aplicações como browsers, mobile e backend porém é sempre importante entender a necessidade de cada situação. Além do mais é bem incomum de ver browsers fazendo esse tipo de chamada.

  • Streaming bidrecional com HTTP/2: O gRPC usa o protocolo HTTP2 para poder trafegar dados em binários e ter uma conexão bidirecional. Explificando; uma conexão bidirecional é quando fazemos uma requisição e a conexão entre os sistemas ficam abertas assim você pode mandar e receber dados a hora que precisar, diferente do HTTP 1.1 onde você faz uma requisição, recebe uma resposta e a conexão é encerrada.

O que é RPC?

A sigla RPC significa Remote Procedure Call. De uma forma bem simples, o seu client chama um serviço diretamente no servidor. Bem simples né? É basicamente chamar o serviço de outro sistema.

Image description

Protocol Buffers

Bom como dito anteriormente o gRPC usa o HTTP2 para se comunicar e trafegar dados e para isso ele utiliza o protocolo chamado Protocol Buffers. O Protocol Buffers também é um projeto da Google. E o objetivo dele é ser como o XML, porém, mais rápido, menor e mais simples. A grande sacada do Protocol Buffers é, antes de você enviar os dados são convertidos em binários, tornando a mensagem mais leve e quando você também recebe eles são convertidos para Protocol Buffers novamente, então isso torna a comunicação mais rápida e leve.


Em breve eu trarei exemplos de como usar e mostrar na prática o uso do gRPC, por enquanto a ideia é só mostrar e tirar dúvidas para quem queira conhecer.

Caso queira saber mais recomendo muito o artigo do Lucas Santos sobre gRPC.

Se chegou até aqui, me segue la nas redes vizinhas.

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️