Akka,关于实施的建议

时间:2015-11-20 13:17:21

标签: scala akka

我想创建一个将我们的(企业)特定工具与Slack集成的应用程序。为此,我可以预见一些发送事件给Slack的 bots 和一些触发操作的命令

我想使用Akka,因为它是一个流行词,看起来不错,但没有任何支持它的论据。 (这不是问题,因为我将在我的空闲时间单独开发此应用程序。)

但我对如何创建基于演员的应用程序"没有任何经验。我已经有3个演员,两个用于收集Event个,一个用于将Event发布给Slack。每个收集器都由一个计时器触发,他们持有对发布者的引用并向他发送消息......这有效..

对于命令部分我没有任何东西可以想象一个监听器(播放http控制器)将Slack请求转换为消息并将其发送给一个演员。理想情况下,我想将这个监听器与将处理该命令的Actor分离。

我想就如何开发这种应用程序提出一些建议,我可以让演员按时收集信息,然后对消息做出反应。

感谢。

1 个答案:

答案 0 :(得分:0)

对于基于时间的活动,即“滴答”或“心跳”,documentation展示了定期向Actors发送消息的非常好的模式。

对于你的其他需要,Actors在消息进入时响应消息,这正是Actor的receive方法的目的。来自documentation

  

Actors是封装状态和行为的对象   通过交换放入的消息专门进行通信   收件人的邮箱。从某种意义上说,演员是最严格的   面向对象编程的形式,但它更适合查看它们   作为人:在与演员建模解决方案时,设想一组   人们并将子任务分配给他们,将他们的职能安排到一个   组织结构,思考如何升级失败(全部   实际上并没有与人打交道,这意味着   我们不必关心他们的情绪状态或道德   问题)。结果可以作为心理支架   构建软件实现。