2013-08-17 28 views
4

我试图找出我们是否应该为我们的下一个项目使用Akka或Reactor。最重要的问题之一是如果未来的选择框架将提供远程处理。正如我所看到的,Akka以我们想要的方式提供。反应堆将提供远程处理吗?

在GitHub wiki中,不幸的是TCP服务器/客户端部分是空白的,我还找不到其他信息。

反应堆将提供远程?

回答

7

我不认为阿卡和反应堆是苹果苹果。反应堆故意为最小,只有一些外部依赖性。它为您提供了一组基本的用于编写事件驱动应用程序的工具,但它在设计上并未强制执行特定的模型。实际上,使用Reactor组件实现Dynamo系统实际上并不需要那么长时间。所有需要的东西都在那里,它可能只需要编写一个教程来展示如何将东西连接在一起。

Akka使用的Dynamo模型是一个经过验证的系统。 Basho在Riak中做了很好的实现。很高兴看到Akka在这方面领先于他们。如果我们要实施一个反应堆集群系统,它可能是迪纳摩模型。但是由于Reactor基本上只是事件处理程序和pub/sub主题,您的消费者可以进行任何您想要的远程通信。他们可以整合HTTP,AMQP,Redis等等。没有必要有特殊的API来做这种事情,因为它们只是事件。您可以在大约10分钟内对AMQP客户端应用程序进行编码,并将数据从RabbitMQ发布到Reactor应用程序中。

我们很可能在某些时候为不同的目的有不同的聚类实现。 Dynamo模型可能适用于某些人,而其他人则需要一个简单的基于Redis的系统。或者,也许可以利用Reactor中已有的组件与the Java Chronicle一起工作,进行基于磁盘的集群 - 现在只需通过连接正确的消费者即可完成。但是那些可以添加到反应堆的外部模块中。反应堆核心本身很可能永远不会有自以为是的聚类解决方案,因为它不符合这些核心组件的目的:JVM上事件驱动应用程序的基础框架。

(我现在正在处理TcpClient/TcpServer维基文档,所以希望这些文档很快就会填满M2反应堆。)