我正在尝试配置Reactor使用Chronicle基于持久性,我在文档中找不到有关此的信息。我看到两种方法:
- 创建我自己的支持
PersistentQueue
的调度程序 - 将
EventBatcher
与此类队列一起使用来包装我的Reactor
实例
哪个选项更好?或者也许还有另一个我忽略的解决方案?
最佳答案
Reactor 没有内置到 Reactor 对象中的持久性(这就是为什么你没有找到关于它的文档:)。
如果您出于弹性和重播目的而尝试保留事件,您可能需要使用 EventBatcher
。 test for EventBatcher
其中有一些代码展示了如何组合 Observable
和 PersistentQueue
。
编写自己的PersistentDispatcher
的选择无疑是一个有趣的选择。然而,这条道路将充满危险,因为在吞吐量方面调度代码是无情的。即使是最小的变化也会对吞吐量产生巨大影响。我们刚刚重新编写了它们以获得更高的性能,因此 master 中的最新代码与 Dispatchers 的 1.0 发行版本不同。
不过,我不建议立即采用 Dispatcher
路线。我会首先尝试 EventBatcher
,只有当它无法在您的用例中使用时,我才会尝试使用自定义 Dispatcher
。如果您决定走这条路,有两个新的抽象基类( here 和 here )可以作为新的 Dispatcher
实现的基础。
关于java - 如何在Reactor中使用PersistentQueue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21562591/