Open mzdk100 opened 2 months ago
Thanks for the question! Tarpc doesn't natively support registering multiple services on a single server. I can suggest a few options:
The "multiplexing transport" solution is good, but it requires writing a lot of code. Can't the tarpc framework handle these things itself? The microservice framework should be designed to be modular so that we can organize the code more conveniently.
The main reason tarpc can't easily support native multiplexing is because the transport is typically generic over the request/response type.
Could the multiplexing code be written generically as a library? Then it wouldn't have to be duplicated by each user. If it were proven popular enough, perhaps it could be merged into tarpc.
Currently, I'm using the quic-rpc
library which can meet my need for modularizing the code, but writing code is not as concise as using the tarpc framework.
I need to define different services to handle different tasks, such as:
The current problem is how to register these two services into the framework, and then create clients using 'UserServiceClient::new' and 'OrderServiceClient::new' and call them?