Google’s gRPC
YumaPro provides Google’s gRPC functionality with a gRPC server controlled and monitored by YumaPro’s netconfd-pro server.
Features include:
- Developers provide .proto files
- The platform is ypgrpc-go-app, the application is maintained in Golang as well as the gRPC server and server stub code
- The client gRPC code can be maintained in any language and can be used by any other tool to send a gRPC request for the data, it can be auto generated code, GUI tools, or CLI tools, etc
- Client sends gRPC requests directly to the ypgrpc-go-app
- Subsystem reports when gRPC stream starts and ends to the netconfd-pro server for monitoring information
- Stub code is generated using protoc tool
- Stub code is integrated into ypgrpc-go-app similar to db-api-app
All possible gRPC scenarios are supported:
- empty request/response
- one request/one response
- server-side streaming RPC
- client-side streaming RPC
- bidirectional streaming
ypgrpc-go-app registers its capabilities and details with YumaPro’s server, netconfd-pro. This includes the following:
- List of available Services
- List of available RPCs
- List of open streams and when they were started
- Counters to keep track of open and closed streams
- List of supported .proto files
- Name, address and the port number of the gRPC server and when it was started
RPC operation to shutdown the gRPC server
For more details please see the YumaPro gRPC Manual.