我听说过很多关于 Akka 框架(Java/Scala 服务平台)的好评,但到目前为止还没有看到很多实际的用例示例。所以我很想听听开发人员成功使用它的事情。
只有一个限制:请不要包括编写聊天服务器的情况。 (为什么?因为这已被过度用作许多类似事物的示例)
原文由 StaxMan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我听说过很多关于 Akka 框架(Java/Scala 服务平台)的好评,但到目前为止还没有看到很多实际的用例示例。所以我很想听听开发人员成功使用它的事情。
只有一个限制:请不要包括编写聊天服务器的情况。 (为什么?因为这已被过度用作许多类似事物的示例)
原文由 StaxMan 发布,翻译遵循 CC BY-SA 4.0 许可协议
免责声明:我是 Akka 的 PO
除了提供并发大杂烩之外,它更容易推理和获得正确(参与者、代理、数据流并发)以及 STM 形式的并发控制。
以下是您可能会考虑的一些用例:
原文由 Viktor Klang 发布,翻译遵循 CC BY-SA 2.5 许可协议
8 回答6.5k 阅读
3 回答2.4k 阅读✓ 已解决
2 回答3.3k 阅读
3 回答1.8k 阅读✓ 已解决
1 回答2k 阅读✓ 已解决
2 回答1.9k 阅读
1 回答892 阅读✓ 已解决
到目前为止,我已经在两个实际项目中非常成功地使用了它。两者都处于接近实时的交通信息领域(如高速公路上的汽车交通),分布在多个节点上,集成多方之间的消息,可靠的后端系统。我还不能随意提供有关客户的具体信息,当我确定可以将其添加为参考时。
Akka 在这些项目上确实取得了成功,尽管我们是在它的 0.7 版本上开始的。 (顺便说一句,我们正在使用scala)
最大的优势之一是你可以很容易地用参与者和消息组成一个系统,几乎没有样板,它的扩展性非常好,没有手动线程的所有复杂性,你几乎可以免费获得对象之间的异步消息传递。
它非常适合对任何类型的异步消息处理进行建模。与其他任何风格相比,我更愿意以这种风格编写任何类型的(网络)服务系统。 (您是否曾尝试使用 JAX-WS 编写异步 Web 服务(服务器端)?这需要大量的管道)。所以我会说任何不想挂在其组件之一上的系统,因为所有内容都是使用同步方法隐式调用的,并且那个组件正在锁定某些东西。它非常稳定,让它崩溃 + supervisor 解决失败的方法确实很有效。一切都很容易以编程方式设置,而不难进行单元测试。
然后是优秀的附加模块。 Camel 模块确实可以很好地插入 Akka,并支持使用可配置端点轻松开发异步服务。
我对这个框架非常满意,它正在成为我们构建的连接系统的事实标准。