java - 如何在Reactor中使用PersistentQueue?

标签 java queue project-reactor chronicle-queue

我正在尝试配置Reactor使用Chronicle基于持久性,我在文档中找不到有关此的信息。我看到两种方法:

  1. 创建我自己的支持 PersistentQueue 的调度程序
  2. EventBatcher 与此类队列一起使用来包装我的 Reactor 实例

哪个选项更好?或者也许还有另一个我忽略的解决方案?

最佳答案

Reactor 没有内置到 Reactor 对象中的持久性(这就是为什么你没有找到关于它的文档:)。

如果您出于弹性和重播目的而尝试保留事件,您可能需要使用 EventBatchertest for EventBatcher其中有一些代码展示了如何组合 ObservablePersistentQueue

编写自己的PersistentDispatcher的选择无疑是一个有趣的选择。然而,这条道路将充满危险,因为在吞吐量方面调度代码是无情的。即使是最小的变化也会对吞吐量产生巨大影响。我们刚刚重新编写了它们以获得更高的性能,因此 master 中的最新代码与 Dispatchers 的 1.0 发行版本不同。

不过,我不建议立即采用 Dispatcher 路线。我会首先尝试 EventBatcher,只有当它无法在您的用例中使用时,我才会尝试使用自定义 Dispatcher。如果您决定走这条路,有两个新的抽象基类( herehere )可以作为新的 Dispatcher 实现的基础。

关于java - 如何在Reactor中使用PersistentQueue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21562591/

相关文章:

grails - 在Web应用程序中使用RabbitMQ,多个线程可以在同一队列上工作

android - 在 Android 上,在用户退出或使用另一个应用程序然后返回后,我如何能够执行一些代码几秒钟?

java - 在 Vert.x 应用程序中使用 Project Reactor

java - 在出现错误时从 Web 服务设计不同的 JSON 响应

java - 如何检查一个整数是否在隐藏随机整数的 5 个数字之内?

python - 什么样的 python 进程可以监控像 kestrel 或 rabbitmq 这样的排队系统?

spring-boot - 配置 Spring WebFlux WebClient 以使用自定义线程池

java - 我的 servlet 映射破坏了我的过滤器

Java 程序实现 boolean 而不是 not (!)

java - 在 Mono 上使用 elapsed() 函数可以吗?