2013-05-13 74 views
1

需要做些什么来扩大(水平扩展)使用Akka编写的应用程序?粗略地说,为了在集群中添加新节点,我只需要在其上安装JRE并使用我的Akka客户端应用程序运行.jar文件?Akka。如何扩大规模?

+1

横向扩展(许多节点),纵向扩展(一个大节点)。 – 2013-05-13 22:23:21

+0

听起来你可能对Akka的Cluster功能感兴趣。它允许您添加更多节点并轻松地将哪些参与者部署到这些新节点。你可以在这里阅读更多关于这个功能http://doc.akka.io/docs/akka/2.1.3/cluster/index.html – cmbaxter 2013-05-13 22:30:10

回答

5

虽然Akka本身扩展性很好,但只有在您的应用程序设计良好才能处理可伸缩性时,它才能做到这一点。简单地将节点添加到集群可能会有帮助,也可能无帮助例如,如果您的Akka应用程序提供某种类型的REST API,请求将如何在您的节点之间路由?国家存储在哪里,如果不在阿卡本身?如果存储在Akka中,如何确保来自同一客户端的后续请求最终在同一个节点上?如果它存储在运行时间之外(例如,SQL数据库),您将如何处理阻塞行为?如果你的SQL数据库然后成为瓶颈,现在怎么办?

Akka提供了极好的可扩展性,我已经在其actor模型上建立了几个这样的系统来实现这一点。然而,你不能只是抛出问题的节点,并希望演员修复它。可伸缩性更多的是关于严谨的思维和设计,而不是希望演员是魔术棒。