一个服务结构节点中的多个来宾可执行文件

问题描述 投票:0回答:1

我想在一个节点上部署多个来宾可执行文件,但是我不确定它在屏幕后面如何工作? VM资源如何在每个可执行文件之间分配?是否以有效的方式完成?我是否需要配置一些东西以将所有可执行文件很好地打包到VM中以节省内存?我如何知道同一台VM上可以运行多少个可执行文件?

azure-service-fabric guest-executable
1个回答
0
投票

为了了解Service Fabric如何在节点内部分配服务,您需要了解其hosting model

Service Fabric托管模型在使用Service Fabric编程模型(无状态和有状态服务和Actor)时非常强大,但对来宾可执行文件和容器的限制更大,尽管它仍然很有效。

[基本上,服务结构将为每个来宾可执行文件(服务)激活一个ServicePackage(一个进程)。根据为每个服务配置的实例数量,Service Fabric将在每个节点上运行每个服务的一个实例(如果InstanceCount = -1),或者将实例分布在所有节点上(如果InstanceCount是一个比实例低的数字)。节点数)。

您可以在单个节点上运行的服务数量没有限制,但是每个服务都会消耗资源(CPU,RAM,端口等),这可能会成为问题。在这种情况下,您有几个选择:

  1. 增加该节点类型的VM的大小

  2. 扩展节点类型(添加更多节点),并为每个服务指定较少的实例数(以便并非每个节点都具有所有服务)]] >>

  3. 创建更多节点类型并使用放置约束来相应地组织服务(例如,您可能具有High Compute节点,High Ram节点,Public节点,后端节点,Financial节点,Analytics节点...这取决于使对您的情况有意义)。

  4. 我怎么知道在同一台VM上可以运行多少个可执行文件?

正如我之前提到的,这不取决于数量,而是取决于这些可执行文件使用的资源和VM的大小。根据您的服务,您可能能够估计它们所需的资源,但是您肯定需要测试和监视您的集群,因为没有什么计算能胜过现实。


更新:添加有趣的链接

您可以通过使服务报告动态指标,并限制单个服务可以占用的资源来帮助Service Fabric更加有效地管理群集(例如,避免服务消耗节点的所有内存):] >

Custom Metrics

Resource Governance

© www.soinside.com 2019 - 2024. All rights reserved.