首页 文章

阿卡 - 了解演员模特

提问于
浏览
0

我已经学习Akka几天了,我有一个简单的问题可以很好地理解它 . 应该如何为使用actor的REST服务创建应用程序架构?演员应该是:

  • 一个简单的组件(例如服务层,DAO,控制器等)?

  • 一个Actor应该是一个商业逻辑元素 . 例如,我有一个业务逻辑,应该是演员的任务?

  • 一个Actor =微服务 . 这是一个高层次的层 . 应用程序中的每个微服务都应该作为一个独立的角色?

我无法用这种方式理解它 - 我应该如何以正确的方式使用演员?如果我使用图层(控制器,服务,DAO和数据库)创建REST服务,我应该如何将其作为Akka应用程序中的actor分开?

2 回答

  • 1

    有一个博客(可能this)很好地反映了我对Akka Actors的看法 . 我没有真正使用它们 .

    取决于你与谁交谈,有些人真正喜欢它,而其他人可能会认为它是一个潜在的基本要素,可能在应用程序层面上没有用 .

    我用演员来处理状态 . 就这样 . 否则它是Futures或Akka Streams . 我希望你喜欢这个博客 . 如果您仍然有疑问,请拍摄 . 我有5年的Akka在我身后 . 乐于帮助 .

  • 1

    我不建议使用原始的Akka actor构建REST服务 . Actor更适合用于封装状态和行为 . 例如,松散耦合的轻量级演员可以用于simulating individual IoT devices(例如恒温器),每个演员都保持其自己的内部状态(例如,酷设置)并通过非阻塞消息传递来调整/报告其设置 .

    对于REST API /服务,您可能需要考虑使用构建于Akka之上的Play,支持非阻塞I / O,JSON作为一等公民,Websockets等 . 这是创建REST service using Play的基本示例 .

    在微服务上,如上面的链接所示:

    在Play中构建REST API并不会自动使其成为“微服务”,因为它不包括对微服务的更大规模的担忧,例如确保弹性,一致性或监控 .

    要将微服务合并到REST API中,请考虑构建在Play / Akka之上的Lagom framework以及reactive质量 .

相关问题