Categorygithub.com/CarlosBrunodev/grpc-golang
module
0.0.0-20240103123057-eb0fb758fd65
Repository: https://github.com/carlosbrunodev/grpc-golang.git
Documentation: pkg.go.dev

# README

image grpc

Introdution gRPC

Diference between gRPC and RPC

  • gRPC: é um framework do google de alto desempenho desenvolvido pelo google para atender chamadas RPC (Remote Procedure Call) utiliza a protobuf como mecanismo de serializacao de dados que tem papel significativo na reducao de trafego de rede

  • RPC: é a definicao de um protocolo que executa procedimentos em outros computadores atravez de rede.

Protocol Buffer

Protocol buffer ou protobuf é um protocolo de mensagens agnostico de linguagem criado pela google para serializar dados estruturados.

A transferencia utilizando protobuf chega a ser 6x mais rapida se comparada com json, isso acontece pois as mensagens serializadas com o protobuf sao enviadas em binario deixando o arquivo de transferencia bem menor .

O diagrama a seguir mostra como o protobuf trabalha:

esquema

Arquitetura gRPC

Como em muitos servicos RPC, o gRPC utiliza a ideia de definir um servidor e um cliente, no qual o servidor especifica os metodos para manipular as chamadas dos clientes. No lado do cliente é definido um stub que contem os mesmo metodos que o servidor.

Diagram de um servico gRPC

Principais vantagens

  • Leve e rapida pois utiliza codificacao binaria http/2
  • disponivel em varias linguagens
  • multiplataform
  • dar suporte a chamadas streamings do cliente para o servidor

Tipos de api com grpc

1.Unary
2.Server streaming
3.client streaming
4.Bi direction streaming

Link de referencia

# Packages

No description provided by the author
No description provided by the author