GRPC Concepts: Difference between revisions
Line 20: | Line 20: | ||
<font color=darkkhaki>Once the protocol is defined in [[Protocol_Buffer_Concepts#.proto_Files|<code>.proto</code> files]], HttpRule https://cloud.google.com/endpoints/docs/grpc-service-config/reference/rpc/google.api#google.api.HttpRule can be used to make the gRPC services accessible over REST HTTP. | <font color=darkkhaki>Once the protocol is defined in [[Protocol_Buffer_Concepts#.proto_Files|<code>.proto</code> files]], HttpRule https://cloud.google.com/endpoints/docs/grpc-service-config/reference/rpc/google.api#google.api.HttpRule can be used to make the gRPC services accessible over REST HTTP. | ||
This project translates between HTTP JSON and gRPC: https://pkg.go.dev/github.com/grpc-ecosystem/grpc-gateway | |||
</font> | </font> |
Revision as of 02:44, 11 May 2024
External
Internal
Overview
gRPC is a RPC framework that uses HTTP/2 as transport protocol and Protocol Buffers as data and services definition language and serialization format.
It provides the ability to define APIs - RPC services - and generate the client and server code for the services. It also offers authentication, context propagation and documentation generation. It allows for plugging in load balancing, logging and monitoring.
An example of how to use gRPC and Protocol Buffers to implement a microservice API is available in Chapter 5. Synchronous Communication of Microservices with Go.
gRPC is part of the Cloud Native Computing Foundation (CNCF)
gRPC and Protocol Buffer Services
gRPC generates client and server code for services defined by Protocol Buffers.
See:
gRPC Services Accessible over REST HTTP API
Once the protocol is defined in .proto
files, HttpRule https://cloud.google.com/endpoints/docs/grpc-service-config/reference/rpc/google.api#google.api.HttpRule can be used to make the gRPC services accessible over REST HTTP.
This project translates between HTTP JSON and gRPC: https://pkg.go.dev/github.com/grpc-ecosystem/grpc-gateway