我了解gRPC是为客户端-服务器体系结构设计的。服务器提供远程服务,客户端通过调用定义的RPC获得服务。但是,一个客户端是否也可以定义服务,以便其他客户端也可以向该客户端请求服务?
例如,服务器知道每个客户端的位置,并且可以将位置信息通知其他客户端。现在,一个客户端从服务器接收到其他客户端的位置后,就可以直接调用其他客户端提供的服务。
gRPC可以做到吗?谢谢!
答案 0 :(得分:0)
是的,这是可能的。
在此上下文中,术语“客户端”和“服务器”已重载,最好将其视为(存根)调用方和(实现)接收方。客户端和服务器可能是同一个进程,但是您不需要gRPC的复杂性。
不禁止某些实体同时充当调用方(“客户端”)和接收方(“服务器”)。这种情况通常发生在对等网络和微服务中,其中一些原始客户端调用某些服务(充当客户端,然后再调用其他各种服务....