需要做些什么来扩展(水平扩展)使用 Akka 编写的应用程序?粗略地说,要在集群中添加新节点,我是否只需要在其上安装 JRE 并.jar
使用我的 Akka 客户端应用程序运行文件?
问问题
1208 次
1 回答
5
虽然 Akka 本身的可伸缩性非常好,但只有在您的应用程序经过精心设计以处理可伸缩性时,它才能做到这一点。简单地将节点添加到集群可能有帮助,也可能没有帮助。
例如,如果您的 Akka 应用程序提供某种 REST API,那么请求将如何在您的节点之间路由?状态存储在哪里,如果不是在 Akka 本身?如果它存储在 Akka 中,如何确保来自同一客户端的后续请求最终在同一节点上?如果它存储在运行时之外(例如,SQL 数据库),您将如何处理阻塞行为?如果您的 SQL 数据库成为瓶颈怎么办,现在怎么办?
Akka 提供了极好的可扩展性,我已经在其 Actor 模型上构建了几个这样的系统来实现这一点。但是,您不能只是将节点扔到问题上并希望演员解决它。可扩展性更多的是关于严谨的思考和设计,而不是希望演员是一根魔杖。
于 2013-05-13T22:53:38.150 回答