O que é gRPC?

0
99

RPC

  • O RPC é um modelo client-server
  • O solicitante é um client e quem fornece a informação é um serviço Server side
  • O RPC é uma operação síncrona e exige que o Client seja suspenso até que o resultado do Server seja retornado

gRPC

  • Serviço de alto desempenho para atender chamadas RPC (Remote Call Procedures)
  • Open Source
  • Suporte a load balance, tracing, healt-check e autenticação
  • Suporta o protocolo Protobuf por padrão
  • Suporta HTTP2
  • Criado pelo Google, com o objetivo de conectar os microserviços em seus datacenters

Protocol buffer

  • Protobuf é um protocolo de mensagem criado e utilizado pelo Google para serializar dados estruturados
  • É independente de linguagem de programação ou plataforma
  • A transferência utilizando o protobuf chega a ser até 6 vezes mais rápido se comparado com JSON

Benefícios do gRPC

  • Redução do uso de rede através da serialização do Protobuf
  • Estrutura RPC leve e de alto desempenho
  • Ferramentas disponíveis para várias linguagens de programação

É ideal para ambientes com Microsserviços, pois torna a comunicação leve e em ambientes com microsserviços a eficiência é crítica.

Exemplo de arquivo proto (Java)

arquivo-proto