【问题标题】:What is the scenario for deploying multiple applications in service fabric?在 Service Fabric 中部署多个应用程序的场景是什么?
【发布时间】:2018-09-12 04:44:03
【问题描述】:
根据this 页面,服务结构中的节点类型可以看作类似于云服务中的角色。
如果是这样,那么我们如何考虑将多个应用程序部署到同一个 Service Fabric 集群。例如。假设有 2 个应用程序:
- 第一个只需要一个web角色,
- 秒数,需要 1 个 Web 角色和 2 个辅助角色。
问题:
那么我们是否创建具有 3 种节点类型(web-1、worker-1、worker-2)的 Service Fabric 集群,然后让两个应用程序的 Web 角色共享 web-1 节点类型?
如果两个应用程序的性能/可扩展性要求非常不同,例如App1 Web 角色需要 20 个 VM,而 App2 Web 角色只需要 2 个?
我们仍然需要将 nodetype1 的实例数更改为 20,对吗?
Service Fabric 如何将一个应用程序与另一个应用程序隔离开来?
例如。 App1 开始获得大量流量,因此最终消耗了大部分 CPU/内存,这不会影响 App2 吗?
【问题讨论】:
标签:
azure
azure-service-fabric
【解决方案2】:
没有正确答案,对于您的所有问题,这将取决于您的应用程序如何消耗资源。
您可以肯定的是,您将需要一个可用的 NodeType public 来接收外部调用并将这些调用在内部重定向到工作节点,对于工作人员来说,这将取决于他们如何消耗服务器资源,一个可能是 CPU 密集型的,其他磁盘或网络。
如果您为每种服务类型创建节点类型,您可能会处于空闲状态
或低使用率的机器经常只是为了支持这些服务
必需的。如果负载快速增加/减少,您可能会有
延迟扩大\缩小以适应需求。但是这种方法会使它们彼此隔离。
如果您将它们部署在同一节点上,它们可能会争夺资源
像内存、磁盘和 CPU 一样,但在这种情况下,它们将使用尽可能多的
它们一直可用,直到您达到节点限制,充分利用可用资源。如果这种并发性迫使他们经常移动并中断他们的处理,这将是一个问题,当他们必须运行长时间运行的操作时这是不可接受的。