Mik*_*e Z 21 rabbitmq actor akka playframework
现在我正在看Play Framework并且喜欢它.在Play中提供的功能广告之一是Akka.
为了更好地了解Akka以及如何正确使用它,您能告诉我其他语言或产品有哪些替代品?
RabbitMQ与它相比如何?有很多重叠吗?将它们一起使用是否实用?在什么用例?
Ada*_*ent 19
我使用RabbitMQ + Spring AMQP + Guava的EventBus来自动注册使用Guava的EventBus的类似Actor的信使,以便对收到的消息进行模式匹配.
与Spring AMQP和Akka的相似之处是不可思议的.Spring AMQP的SimpleMessageListenerContainer + MessageListener几乎等同于Actor.
然而,出于所有意图和目的,RabbitMQ 比Akka 更强大,因为它有许多不同语言的客户端实现,提供持久性(持久队列),拓扑路由和可插拔QoS算法.
这就是说Akka更方便,理论上Akka可以做到以上所有,有些人有书面扩展,但大多数只是使用Akka,然后让Akka通过RabbitMQ传递消息.另外,Spring AMQP SimpleMessageListener容器有点沉重,而且不清楚如果你创建了几百万个容器会发生什么.
事后我会考虑将Akka用于RabbbitMQ而不是Spring AMQP用于未来的项目.
Tom*_*icz 14
最好的起点是一个伟大的Akka官方文档.我认为最接近Akka的产品/框架是erlang语言.我猜(我没有使用Play框架)Akka用于实现Comet和其他异步处理.
rabbitmq在想法(发送消息的基础结构)方面有些相似,请注意RabbitMQ甚至用erlang编写,但它们的用例略有不同.我会说,虽然RabbitMQ专注于消息传递,但Akka更多的是关于actor(消息接收者和发送者).
我可以提供最好的建议,因为当Play 2.0加入Typesafe并开始使用Akka时,我也经历了相同的思考过程,就是搜索"Actor模型".
维基百科是一个很好的资源 - http://en.wikipedia.org/wiki/Actor_model.它有一个可以支持actor模型的编程语言列表,还有一个基于Actor模型的框架列表(包括Akka).
简而言之,Actor模型基于并发计算模型中actor的概念.Actors并不一定意味着传递消息,但是大多数常见的用例都会让actor传递消息(这与RabbitMQ的相似之处就在于此).
| 归档时间: |
|
| 查看次数: |
23123 次 |
| 最近记录: |