marp | theme | style | headingDivider |
---|---|---|---|
true |
dracula |
table {
width: 100%;
}
|
1 |
A high performance, open source universal RPC framework
- Framework para comunicação entre aplicações
- Desenvolvido pelo Google, e agora parte da CNCF
- União de HTTP/2 e Protocol buffers
- Foco em peformance e produtividade
- Multiplas plataformas e linguagens
gRPC | REST |
---|---|
"Contract First" (proto) | Uri, Verbo, Headers, Status Code |
Conteúdo para computadores | Conteúdo para pessoas |
4 tipos de operações | 1 tipo de operação |
Suporte limitado no browser | Suporte nativo no browser |
syntax = "proto3";
package greet;
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply);
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
- Exemplo de geração de código com ferramentas Python
pip install grpcio-tools
python -m grpc_tools.protoc -I../../protos \
--python_out=. \
--grpc_python_out=. ../../protos/greet.proto
- https://grpc.io/docs/what-is-grpc/core-concepts/
- https://aka.ms/grpcdocs
- https://aka.ms/grpcexamples
- https://docs.microsoft.com/en-gb/aspnet/core/grpc/protobuf
- https://github.com/grpc-ecosystem/awesome-grpc
- Demo com o James Newton-King: https://www.youtube.com/watch?v=EJ8M2Em5Zzc http://grpcblazorperf.azurewebsites.net/