.NET Core 3.0 + gRPC: exemplos de implementação

Renato Groffe
2 min readOct 6, 2019

--

gRPC é um framework open source e de alta performance empregado em chamadas remotas (daí o RPC em seu nome, sigla de Remote Procedure Call). Desenvolvido inicialmente pela Google, faz uso do formato binário Protobuf para a serialização de dados e de HTTP/2 como protocolo de comunicação.

O ASP.NET Core passou a suportar recentemente o padrão gRPC como opção para o desenvolvimento de serviços, com isto acontecendo a partir da versão 3.0 (lançada oficialmente em Setembro/2019).

No Visual Studio 2019 temos o template gRPC Service para a implementação de projetos baseados nesta tecnologia:

Além de ser possível também a criação de projetos deste tipo via linha de comando, através da instrução dotnet new grpc:

Nos links a seguir temos 2 exemplos de implementação de serviços gRPC em ASP.NET Core 3.0 (um contador de acessos e um cadastro de produtos, respectivamente):

ASP.NET Core 3.0 + gRPC + Protobuf + Docker [Contagem de acessos]

ASP.NET Core 3.0 + gRPC + Protobuf + Entity Framework Core InMemory + Docker [Cadastro de Produtos]

Já os próximos links contêm exemplos de consumo destes 2 serviços em Console Applications criadas com o .NET Core 3.0:

.NET Core 3.0 + Client gRPC + Protobuf [Client | Contagem de acessos]

.NET Core 3.0 + Client gRPC + Protobuf [Client | Cadastro de Produtos]

Para o consumo de serviços gRPC nestes 2 últimos projetos foram empregados os packages:

  • Google.Protobuf
  • Grpc.Net.Client
  • Grpc.Tools

Há pouco tempo aconteceu também uma live no Canal .NET sobre gRPC, a qual se encontra disponível no YouTube e pode ser assistida gratuitamente:

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker

No responses yet