我正在用 C# 在 Service Fabric 之上实现 GRPC。GRPC 服务器需要一个 ServerPort(负责将 ssl 凭据绑定到端口)和一个服务定义(负责将路径上的请求映射到方法委托)。我创建了一个通信侦听器,它报告分区和副本 ID 以及 FQDN:端口。这允许客户端正确地确保其与正确的分区/副本通信。我在服务 mainifest 中声明了一个 Endpoint 资源,并将端口留空以表示我希望服务结构分配一个随机端口。我在本地开发中的问题(我还没有将它推送到天蓝色的集群中)是副本似乎死了,因为它们被分配了相同的端口。我还应该注意,我是在告诉侦听器侦听辅助副本。
我的问题是:
- 服务结构如何选择一个端口来托管服务副本?
- 次要副本的端口共享问题是否只是我物理上在同一台机器上的本地开发问题?(我假设真实集群中的副本将放置在不同的故障/升级域中)