我有 Azure Service Fabric 无状态服务,它不使用任何端点。它从队列中获取消息,对其进行处理并将结果保存到数据库。
我想在 2 个节点上部署 10 个实例。默认情况下,我有 -1 个实例数 - 这意味着 2 个节点将有 2 个实例。我可以将实例计数指定为 1 或 2,这样就可以了,但是我无法设置 10 个实例,它会给我错误。
因此,我决定创建我的应用程序类型的另一个实例。这是正确的解决方案吗?有更优雅的方法吗?
最佳答案
目前您可以选择以下几种方式:
- 多个应用程序实例(正如您所做的那样)。托管服务的多个应用程序。增加了复杂性,因为必须管理实例。
- 多种服务。一个应用程序托管多个服务。与#1 相同的缺点。
- 一项服务内的多个分区(而不是一个
SingletonPartition
)。这样做的缺点是这个数字是“固定的”。更改需要重新部署类型,并需要一些停机时间。 - 使用multiple receivers在一项服务内。可能是一个不错的选择,因为它的开销最小,因为创建多个进程(#1、2 和 3)会产生一些开销。
(一个重要的问题是:你真的需要多个实例吗?)
更多信息here 。
关于azure-service-fabric - Azure Service Fabric - 每个节点有多个服务实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49732763/