【发布时间】:2020-12-16 16:38:20
【问题描述】:
我了解 gRPC 是为客户端-服务器架构设计的。服务器提供远程服务,客户端通过调用定义的 RPC 获取服务。但是是否有可能一个客户端也定义了一个服务,以便其他客户端也可以向该客户端请求服务?
例如,服务器知道每个客户端的位置,并可以将位置信息通知其他客户端。客户端从服务器接收到其他客户端的位置后,现在可以直接调用其他客户端提供的服务。
gRPC 可以做到这一点吗?谢谢!
【问题讨论】:
标签: grpc
我了解 gRPC 是为客户端-服务器架构设计的。服务器提供远程服务,客户端通过调用定义的 RPC 获取服务。但是是否有可能一个客户端也定义了一个服务,以便其他客户端也可以向该客户端请求服务?
例如,服务器知道每个客户端的位置,并可以将位置信息通知其他客户端。客户端从服务器接收到其他客户端的位置后,现在可以直接调用其他客户端提供的服务。
gRPC 可以做到这一点吗?谢谢!
【问题讨论】:
标签: grpc
是的,这是可能的。
术语“客户端”和“服务器”在此上下文中被重载,最好将其视为(存根)调用者和(实现)接收者。客户端和服务器可能是同一个进程,但你不需要 gRPC 的复杂性。
没有禁止某些实体同时充当调用者(“客户端”)和接收者(“服务器”)。这种情况通常出现在点对点网络和微服务中,其中一些原始客户端调用一些服务(充当客户端并)然后调用各种其他服务....
【讨论】: