Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 服务结构可靠服务:通信和分区要素_Azure_Service_Communication_Partitioning_Azure Service Fabric - Fatal编程技术网

Azure 服务结构可靠服务:通信和分区要素

Azure 服务结构可靠服务:通信和分区要素,azure,service,communication,partitioning,azure-service-fabric,Azure,Service,Communication,Partitioning,Azure Service Fabric,在发现SF可靠服务的同时,我希望确保下面的基本语句是正确的 可靠服务默认通信堆栈(DefaultStack)和可靠参与者通信堆栈(使用ServiceProxy/ActorProxy)只能用于SF集群内的通信。来自外部的客户必须使用WebAPI/WCF堆栈 ServicePartitionResolver、CommunicationClientFactory、ServicePartitionClient是已经在DefaultStack中实现的东西。如果我只使用DefaultStack,我不必担心它

在发现SF可靠服务的同时,我希望确保下面的基本语句是正确的

  • 可靠服务默认通信堆栈(DefaultStack)和可靠参与者通信堆栈(使用ServiceProxy/ActorProxy)只能用于SF集群内的通信。来自外部的客户必须使用WebAPI/WCF堆栈

  • ServicePartitionResolver、CommunicationClientFactory、ServicePartitionClient是已经在DefaultStack中实现的东西。如果我只使用DefaultStack,我不必担心它

  • 一些有状态服务有不止一个分区,例如,我想发布一个项目来处理它。SF不负责决定客户过账时应该使用什么分区。我需要手动实现一个解析分区键或名称的算法,并在ServiceProxy构造函数(用于DefaultStack)中使用它


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

  • 如果您想在服务结构之外进行通信,则需要使用类似于OwinCommunicationListener的东西(请参阅)
  • 如果您想插入自己的通信堆栈,则只需实现这些
  • 是的,在创建ServiceProxy时需要定义分区键

  • 你可能知道答案。有没有办法自动获取分区密钥?我希望将对此服务的调用分发到不同分区中的不同实例。我不想知道有多少服务存在,这取决于你的分区策略。您如何分割数据?哪个组件知道如何创建分区键?这个组件可以是任何东西,从扩展方法到将请求路由到正确服务分区的专用无状态服务。我还没有弄清楚不同服务的分区应该如何关联。现在我有一个StatefulActor,它正试图调用一个无状态服务来对一个工作项进行排队,并对其进行异步处理。