使用服务相关亲和关系方案我有一个无状态健康监控服务(WatchdogService),它定期ping我的Timeservice来检查健康状况。
应用程序清单定义了TimeService和WatchdogService之间的这种关联。
<DefaultServices>
<Service Name="WatchdogService">
<StatelessService ServiceTypeName="WatchdogServiceType" InstanceCount="[InstanceCount]">
<SingletonPartition />
<ServiceCorrelations>
<ServiceCorrelation ServiceName="fabric:/TimeServiceApplication/TimeService" Scheme="Affinity" />
</ServiceCorrelations>
</StatelessService>
</Service>
<Service Name="TimeService">
<StatelessService ServiceTypeName="TimeServiceType" InstanceCount="[InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>
</DefaultServices>
因此,在WatchdogService中,我想检查同一节点中服务的运行状况。
目前我的服务是一个实例数为1的单例,但如果我将其更改为-1,我想确保node1上的WatchdogService实例检查node1上的TimeService的运行状况。
是否有快速查找同一节点上的服务实例,然后找到其端点的方法?
在localhost:8088的行下面是我想要智能地使用我的共同服务的地方,因为这个代码不适用于每个节点的实例。 https://github.com/tbertenshaw/FabricAllTheThings/blob/master/src/GuestApplication/WatchdogService/WatchdogService.cs