Service Fabric 可靠服务:通信和分区要点

Service Fabric Reliable Services: Communication and Partitioning essentials

在发现 SF Reliable Services 时,我想确保接下来的基本陈述是真实的。

  1. Reliable Services 默认通信堆栈 (DefaultStack) 和 Reliable Actors 通信堆栈(使用 ServiceProxy/ActorProxy)只能用于 SF 集群内部的通信。外部客户必须使用 WebAPI/WCF 个堆栈。

  2. ServicePartitionResolver、CommunicationClientFactory、ServicePartitionClient 是已经在 DefaultStack 中实现的东西。如果我只使用 DefaultStack 我就不用担心了。

  3. 有些Stateful服务有多个partition,比如我想post一个item来处理。决定 posting 客户应该使用哪个分区不是顺丰的责任。我需要手动实现一个解析分区键或名称的算法,并在 ServiceProxy 构造函数(对于 DefaultStack)中使用它。

你在所有这些方面都是正确的,

  1. 如果你想在 Service Fabric 之外进行通信,你需要使用类似 OwinCommunicationListener 的东西(参见 here)。
  2. 如果您想插入自己的通信堆栈,则只需实施这些。
  3. 是的,您需要在创建 ServiceProxy 时定义分区键。