5 ms·
I know this is a late reply, but gRPS is exactly the kind of RPC computer scientists talk about. I'm not sure what you think RPC is but RPC is just the paradig
by throwaway2016a 2y ago
I know this is a late reply, but gRPS is exactly the kind of RPC computer scientists talk about.
I'm not sure what you think RPC is but RPC is just the paradigm of calling functions on a remote machine, passing arguments in a structured way, and getting a response back. Which is exactly what gRPC, JsonRPC and others all do. As opposed to resource-centric paradigms like REST, query languages, and non-realtime paradigms.
The main gripes against RPC is tight coupling, lack of a discovery mechanism and caching out of the box, and difficult in error handling and session management. All of which are also issues with gRPC.
gRPC offers no real benefits or drawbacks compared to other RPC implementations except that it is built onto of Protobuf.
- benatkin 2y agoThere's not much of a Remote Procedure Call built into the protocol. It's like GraphQL with resolvers. They have you imagine it's a procedure, but you can ignore that. You can have multiple responses, but they don't keep the analogy going for that. They don't suggest generators. https://grpc.io/docs/what-is-grpc/core-concepts/ https://grpc.io/docs/what-is-grpc/core-concepts/ Here's the golang gRPC Hello World where the interface clearly comes first rather than the procedure. HelloRequest / HelloReply is analogous to HTTP (except with HTTP it's officially a response and you usually see Response in the API but not always [1]). https://github.com/grpc/grpc-go/blob/master/examples/helloworld/greeter_server/main.go#L42 https://github.com/grpc/grpc-go/blob/master/examples/hellowo... To me, this is a good thing. Good protocol, annoying name. 1: https://fastify.dev/docs/latest/Reference/Reply/ https://fastify.dev/docs/latest/Reference/Reply/