C# 服务结构如何选择承载服务的端口? 我在C公司的服务面料上实施GRPC。GRPC服务器需要一个ServerPort(负责将ssl凭据绑定到端口)和一个服务定义(负责将路径上的请求映射到方法委托)。我制作了一个通信侦听器,它报告分区和副本ID以及FQDN:端口。这允许客户端正确地确保其与正确的分区/副本通信。我在ServiceMainiTest中声明了一个端点资源,并将端口留空,以指示我希望ServiceFabric分配一个随机端口。我在本地开发中遇到的问题(我还没有将其推到azure中的集群中)是,复制副本似乎已死亡,因为它们被分配了相同的端口。我还应该注意,我正在告诉侦听器侦听辅助副本
我的问题是:C# 服务结构如何选择承载服务的端口? 我在C公司的服务面料上实施GRPC。GRPC服务器需要一个ServerPort(负责将ssl凭据绑定到端口)和一个服务定义(负责将路径上的请求映射到方法委托)。我制作了一个通信侦听器,它报告分区和副本ID以及FQDN:端口。这允许客户端正确地确保其与正确的分区/副本通信。我在ServiceMainiTest中声明了一个端点资源,并将端口留空,以指示我希望ServiceFabric分配一个随机端口。我在本地开发中遇到的问题(我还没有将其推到azure中的集群中)是,复制副本似乎已死亡,因为它们被分配了相同的端口。我还应该注意,我正在告诉侦听器侦听辅助副本,c#,azure,azure-service-fabric,grpc,service-fabric-stateful,C#,Azure,Azure Service Fabric,Grpc,Service Fabric Stateful,我的问题是: 服务结构如何选择承载服务副本的端口 辅助副本的端口共享问题是否只是本地开发的一个问题,因为我在同一台机器上?(我假设真实集群中的副本将放置在不同的故障/升级域上) Service Fabric保留在群集设置中定义的应用程序端口范围(如果您在Azure中托管,则在资源管理器模板中定义)。当您在端点资源中将端口保留为空时,SF将从此范围中选择尚未分配给计算机上其他服务的端口 但需要注意的重要一点是,端口分配是针对每个主机进程的,默认情况下是共享的主机进程,其中相同服务类型的副本可以共享
Service Fabric保留在群集设置中定义的应用程序端口范围(如果您在Azure中托管,则在资源管理器模板中定义)。当您在端点资源中将端口保留为空时,SF将从此范围中选择尚未分配给计算机上其他服务的端口 但需要注意的重要一点是,端口分配是针对每个主机进程的,默认情况下是共享的主机进程,其中相同服务类型的副本可以共享一个主机进程。在这种情况下,同一主机进程中的复制副本将获得相同的端口 有几种方法可以解决这个问题:
此外,服务远程处理是否构建在HTTP.SYS上?如果不是,它如何解决这个问题?