Akka框架的最佳用例是什么 [已关闭]
我听说过很多关于Akka框架(Java / Scala服务平台)的狂热,但到目前为止还没有看到很多实际的用例的例子。因此,我有兴趣了解开发人员成功使用它的东西。
只有一个限制:请不要包括编写聊天服务器的情况。(为什么?因为这已经被过度用作许多类似事情的例子)
我听说过很多关于Akka框架(Java / Scala服务平台)的狂热,但到目前为止还没有看到很多实际的用例的例子。因此,我有兴趣了解开发人员成功使用它的东西。
只有一个限制:请不要包括编写聊天服务器的情况。(为什么?因为这已经被过度用作许多类似事情的例子)
到目前为止,我已经在两个实际项目中非常成功地使用它。两者都处于近乎实时的交通信息领域(交通如高速公路上的汽车),分布在多个节点上,集成多方之间的消息,可靠的后端系统。我还没有自由地提供有关客户的详细信息,当我获得OK时,也许可以将其添加为参考。
Akka确实完成了这些项目,尽管我们从0.7版本开始。(顺便说一句,我们正在使用scala)
其中一大优点是,您可以轻松地从参与者和消息中编写系统,几乎没有样板,它可以很好地扩展,而无需手卷线程的所有复杂性,并且您几乎可以免费获得对象之间的异步消息传递。
它非常适合对任何类型的异步消息处理进行建模。我更喜欢以这种风格编写任何类型的(Web)服务系统,而不是任何其他风格。(你有没有试过用 JAX-WS 编写异步 Web 服务(服务器端)?这是很多管道)。因此,我会说任何不想挂在其组件上的系统,因为所有内容都是使用同步方法隐式调用的,并且一个组件锁定某些内容。它非常稳定,let-it-crash + supervisor解决方案确实运行良好。一切都很容易以编程方式设置,并且不难进行单元测试。
然后是出色的附加模块。Camel模块确实很好地插入了Akka,并且能够使用可配置的端点轻松开发异步服务。
我对这个框架非常满意,它正在成为我们构建的连接系统的事实标准。
免责声明:我是阿卡的PO
除了提供一个并发大杂烩,它更容易推理和正确(参与者,代理,数据流并发),并以STM的形式进行并发控制。
以下是您可以考虑的一些用例: