实时应用,Reactor Netty与Netty对比

7

我知道第二个基于第一个,但是除了API之外,它们有哪些区别呢?使用Reactor可以建立推送模型连接吗?我想创建一个实时应用程序,所以我必须选择最适合此目的的一个。非常感谢任何帮助 :)


API本身会告诉您是否支持推送模型。通过熟悉API,您还将开始了解使用它们的感觉,因此您将更好地准备好做出最合适的选择。 - Emmanuel Rosa
1个回答

5
在这种情况下,API不仅仅是语法糖。它传播反应式契约。反应式契约保证生产者不会生产比消费者可以消费而导致阻塞的任务/消息/任何内容。这通过限制线程切换来保证处理能力的最优使用(我为了简洁而过于简化)。在Netty级别上,传播反应式契约意味着在数据处理完成之前不发送TCP确认。
我不知道对你来说“实时”是什么意思,但Reactor可能是你的朋友。无论如何,它很棒的API对于任何可以分成几个阶段进行处理的应用程序都是有意义的。
我在Netty上面写了自己的库,所以我知道我在说什么。Netty连接器会分发可以进入Reactor Flux的命令对象,但我没有提供传播反应式契约的方法。这是几年前的事情,在那个时候Reactor Netty被称为Reactor IO,并且它还处于萌芽状态。自那时以来,API已经完全重写。
因此,我的建议是:如果您需要反应式契约,请使用Reactor Netty。
这可能会比较复杂,就像动态合并Fluxes中所描述的那样。但是对于我的问题可能有一个简单的答案,而且(根据您的应用程序)您可以仅在其自己的Flux中处理每个请求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接