Reactor会提供远程控制吗?

时间:2013-08-17 08:20:03

标签: reactor project-reactor

我正在试图找出是否应该将Akka或Reactor用于我们的下一个项目。最重要的问题之一是未来的选择框架是否会提供远程处理。正如我所看到的,Akka就像我们希望拥有它一样。

在GitHub wiki中,遗憾的是TCP服务器/客户端部分是空白的,我还没有找到有关它的其他信息。

反应堆会提供远程处理吗?

1 个答案:

答案 0 :(得分:7)

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

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

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

(我现在正在研究TcpClient / TcpServer wiki文档,所以希望很快就能填写反应堆的M2,这将很快发生。)