roberson-miguel / grpc-examples

Example to start with grpc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

O que é? Onde utilizar? Como implementar esse framework no meu dia a dia? Essas são as primeiras perguntas que foram feitas para dar ânimo para construir esse repositório com exemplos e algumas referências sobre o assunto.

💻 Comunicação entre aplicações

  • SOAP (xml)
  • REST (json)
  • GraphQL* (json)
  • RPC (binário)
  • WebSocket

💭 o que é gRPC?

Framework desenvolvido pelo Google, que implementa o HTTP/2 e por meio de chamadas de funções simples envia e recebe informações entre cliente e servidor.

🤔 Por que e quando utilizar esse meio de comunicação?

  1. gRPC é altamente compactado e eficiente para serializar dados estruturados, utilizando o formato de mensagem protobuf (buffers de protocolo)
  2. As APIs baseadas em RPC são ótimas para ações (ou seja, procedimentos ou comandos) e, como veremos mais adiante, em alguns contextos, pode servir como uma alternativa mais eficiente do que uma API REST.
  3. Protobuf em vez de JSON / XML
  4. Construído em HTTP 2 em vez de HTTP 1.1
  5. Transmissão de mensagens 7 a 10 vezes mais rápida

🗒️ Tipo de comunicações utilizando gRPC

  • Unilateral
  • Server stream
  • Client stream
  • Bilateral

✍️ Mão na massa

  • Exemplo unilateral: example-ping-pong
  • Exemplo server stream: example-random-number
  • Exemplo client stream: example-batch-insert
  • Exemplo bilateral: example-chat

📑 Referências

About

Example to start with grpc


Languages

Language:TypeScript 87.5%Language:Shell 12.5%