DEV Community

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

Posted on • Updated on

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.

Top comments (0)