【问题标题】: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 个辅助角色。

问题:

  1. 那么我们是否创建具有 3 种节点类型(web-1、worker-1、worker-2)的 Service Fabric 集群,然后让两个应用程序的 Web 角色共享 web-1 节点类型?

  2. 如果两个应用程序的性能/可扩展性要求非常不同,例如App1 Web 角色需要 20 个 VM,而 App2 Web 角色只需要 2 个? 我们仍然需要将 nodetype1 的实例数更改为 20,对吗?

  3. Service Fabric 如何将一个应用程序与另一个应用程序隔离开来? 例如。 App1 开始获得大量流量,因此最终消耗了大部分 CPU/内存,这不会影响 App2 吗?

【问题讨论】:

    标签: azure azure-service-fabric


    【解决方案1】:
    1. 您将创建 2 种节点类型:WebWorker。 Web 节点类型的服务可以直接从 Internet 访问,而 Worker 节点类型的服务则不能。两个应用程序共享节点,因此它们可以充分利用available resources

    2. 根据应用程序特性,您需要 20 到 22 个节点。如果一个内存很重,而另一个 CPU 很重,您可能会使用 20 个。如果它们都是 CPU 很重,您可能需要 22 个节点。 所以不是 22 个节点类型,而是 22 个节点(VM)。

    3. SF 将执行resource balancing 以在可用节点之间划分工作负载。通过使用Containersresource governance,您可以限制一项服务对其他服务的影响。

    【讨论】:

      【解决方案2】:

      没有正确答案,对于您的所有问题,这将取决于您的应用程序如何消耗资源。

      您可以肯定的是,您将需要一个可用的 NodeType public 来接收外部调用并将这些调用在内部重定向到工作节点,对于工作人员来说,这将取决于他们如何消耗服务器资源,一个可能是 CPU 密集型的,其他磁盘或网络。

      1. 如果您为每种服务类型创建节点类型,您可能会处于空闲状态 或低使用率的机器经常只是为了支持这些服务 必需的。如果负载快速增加/减少,您可能会有 延迟扩大\缩小以适应需求。但是这种方法会使它们彼此隔离。

      2. 如果您将它们部署在同一节点上,它们可能会争夺资源 像内存、磁盘和 CPU 一样,但在这种情况下,它们将使用尽可能多的 它们一直可用,直到您达到节点限制,充分利用可用资源。如果这种并发性迫使他们经常移动并中断他们的处理,这将是一个问题,当他们必须运行长时间运行的操作时这是不可接受的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-14
        • 2019-03-28
        • 1970-01-01
        • 2017-04-16
        • 2019-02-14
        • 2019-06-23
        • 2016-12-09
        • 2017-10-29
        相关资源
        最近更新 更多