集群管理
集群能力
在高并发场景中,应用系统的处理能力通常是个严峻的挑战。
在提高系统的并发处理能力上,Phoenix 框架使用聚合根对象作为调度单位进行线程调度,以提升单节点部署的情况下线程资源的利用效率。此外,借助 Akka-Cluster 和 Akka-Cluster-Sharding 的能力实现横向扩展,通过部署多个服务节点组成集群,聚合根对象可以在集群节点之间灵活调度,使得系统可以通过增加节点的方式提升处理能力。
Phoenix 框架提供应用系统的伸缩性。与横向扩展相似,Phoenix 服务集群可以动态缩减节点数量。Akka-Cluster 和 Akka-Cluster-Sharding 可以对聚合根对象进行集群调度和管理,在集群减少服务节点数量时,Akka可以将这些节点中的聚合根对象转移到剩余节点中。在进行节点移除的过程中,配合 EventSourcing 的能力,被移除节点中的聚合根可以在剩余节点中重新构建并恢复状态。