我正在考虑以下用例使用的技术:寻找一个无阻塞的方式来处理某一事件路由
系统是事件驱动的 存在流量(其中大部分是没有叉子除了错误处理) 流本身应该是同步的,但无阻塞
我迄今为止的可能性是:
- 纯java - 这使代码不太清楚,因为我有筑巢在彼此内部 回调,并有写都要亲力亲为
- Apache的骆驼 - 使用骆驼的路线 即:
from(URI) .transform(creatUserExpression) //prepare msg to send to db .inOut(DB.URI) //send to db .transform(UserCreatedExpression) //prepare msg to send to next step .inout(OtherService.URI) .end();
这看起来像一个很好的解决方案,但骆驼适合处理我的所有业务逻辑 - 事件的所有流程? 骆驼主要用于服务之间的整合,所以我们不知道这是否是正确的使用它的商业逻辑
java的RX - 看起来像一个可能的选择,仍然不够了解,生产是否准备好了? 当前版本是0.20.7 - 还不是1.X版本
akka - 试图使用它的流量 - 但为了确保流量只有一种方式,我们需要使用FSM导致代码过于复杂,我们决定不这么做
任何其他建议可以理解
3.上个星期以来RxJava的1.0.0版本已经发布。 (并且已经在Netflix,SoundClound Android App中使用,...) 顺便说一下,如果您无法在Rx和/或Camel之间做出决定,则存在一个RxJava Camel端点(我没有看过它) – dwursteisen 2014-11-25 15:24:26
我现在看到他们更改了maven仓库中的名称 - 它现在在io.reactivex/rxjava下,而不是com.netflix.rxjava»rxjava-core(仍然是0.20.7) – Elyran 2014-11-25 16:09:41