我可以使用负载平衡器来扩展Azure Service Fabric应用程序

Joy*_*uru 8 azure azure-service-fabric

最近了解了Azure Service Fabric,似乎是将扩展应用程序开发为一堆微服务的好方法.它告诉我们,我们需要拥有无状态前端Web服务和有状态分区内部服务.内部服务通过分区数据来扩展.

但是负载中的前端服务会发生什么?除了依靠内部的有状态服务之外,他们无所事事的可能性很小.我们还应该在前端服务之前使用负载均衡器吗?如果是这样,我们是否可以通过使用OWIN或任何其他Web主机的Service Fabric的无状态模型来托管相同的内容?

问题已在SO中提出,但作为评论.由于最初的问题不同,它没有得到答复. Azure Service Fabric用法

Sea*_*nna 11

是的,你肯定也希望在无状态服务中分配负载.关键的区别在于,由于它们是无状态的,因此它们可以以循环方式处理请求.

有状态服务具有映射到服务状态的各个块的分区,而无状态服务仅具有实例,这些实例是彼此相同的克隆,仅在不同节点上.您可以在应用程序清单中的默认服务定义中设置实例数.例如,此声明将确保群集中始终有5个无状态服务实例:

<Service Name="Stateless1">
   <StatelessService ServiceTypeName="Stateless1Type" InstanceCount="5">
     <SingletonPartition />
   </StatelessService>
</Service>
Run Code Online (Sandbox Code Playgroud)

您还可以将InstanceCount设置为-1,在这种情况下,Service Fabric将在每个节点上创建无状态服务的实例.

Azure负载均衡器将在您的每个实例中循环传入流量.不幸的是,现在还没有一种在单箱环境中模拟这种方法的好方法.

  • 有两个原因:1)Azure负载均衡器在Service Fabric外部,没有本地等效物.2)您不能让多个进程在单个计算机上侦听完全相同的端点/端口. (2认同)