我正在尝试将Reactor配置为使用基于Chronicle的持久性,但我无法在文档中找到有关此内容的信息。我看到两种方法:
- 创建我自己的调度员支持
PersistentQueue
- 与此类队列一起使用
EventBatcher
来包装我的Reactor
实例
哪个选项更好?或者也许还有另一个我忽略的解决方案?
Reactor 没有内置到 Reactor 对象中的持久性(这就是为什么您没有找到关于它的文档的原因:)。
如果您出于弹性和重放目的而尝试持久化通过的事件,您可能需要使用EventBatcher
. 测试中EventBatcher
有一些代码显示如何组合 anObservable
和 a PersistentQueue
。
编写自己的选项PersistentDispatcher
当然是一个有趣的选项。然而,这条道路将充满危险,因为在吞吐量方面调度代码是不可原谅的。即使是最小的变化也会对吞吐量产生巨大影响。我们也刚刚重新编写了它们以获得更高的性能,因此 master 中的最新代码与 Dispatchers 的 1.0 发行版不同。
不过,我不建议Dispatcher
立即采取这条路线。我会尝试第EventBatcher
一个,并且只有当它不能用于您的用例时,我才会尝试使用自定义Dispatcher
. 如果你决定走那条路,有两个新的抽象基类(这里和这里)可以作为新实现的基础。Dispatcher