【问题标题】:Automatic scaling out/in setup of akka-cluster based application基于 akka-cluster 的应用程序的自动横向扩展/缩减设置
【发布时间】:2019-08-14 11:10:21
【问题描述】:

假设您有一个基于 akka-cluster 的应用程序/REST API。

此应用程序同时处理 CPU 限制 请求和 内存限制请求。 假设您设计了应用程序,以便如果节点以cpu 角色加入,则 节点将用作 CPU 绑定请求的资源(通过某种集群感知路由器),如果节点以memory 角色加入,则该节点将用作内存绑定请求的资源(通过集群例如,与持久演员进行分片)。

实现此类应用的自动缩放需要什么?集群如何将其标记为“外部”它需要更多(或更少)一种或另一种类型的节点?我找不到任何此类设置的示例。

【问题讨论】:

    标签: akka autoscaling akka-cluster


    【解决方案1】:

    akka-cluster 不会自动“标记”到外部,除非您为其创建一些代码。但是,在AWS 等公共云环境中,自动缩放概念的工作方式略有不同。常规方法是设置一个警报(在集群外部)来监控指标(CPU 或内存)。当警报触发时,您可以执行操作。一项操作可以是启动所需角色(CPU 或内存)的新实例。

    当您需要缩减时会发生同样的情况,但是您需要注意您在即将关闭的节点中运行的运行中的工作负载。

    另一个重要方面是当一个新节点出现并想要加入集群时的服务发现,为此我建议使用模块akka-management:https://github.com/akka/akka-management

    长话短说,akka-cluster 不提供自动扩展的工具,您需要编写一些代码或在集群周围使用一些工具来实现它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      • 2011-04-20
      相关资源
      最近更新 更多