我正在使用 Reactor 读取 Kafka 主题。每条消息的详细说明都需要对 MongoDB 进行查询,这比从 Kafka 主题读取消息要慢。因此,我对流应用了反压处理。
receiver.receive()
// Limiting the reading operation
.limitRate(50)
// processMessage accesses to the database
.flatMap(this::processMessage)
.publish()
// Simplification here
.subscribe();
我正在使用ConnectableFlux
拥有多个 KafkaReceiver 生产者订阅者。 KafkaReceiver
本身不允许多个订阅者。
我需要测试我的代码是否正确地将反压应用于流。我该如何使用一些集成测试来做到这一点?
谢谢大家。
最佳答案
Reactive Streams项目有一个测试套件(称为 TCK)来测试 react 流(包括背压)的实现。我用它来测试 Publisher 接口(interface)的实现:https://github.com/akaigoro/df4j/tree/API-7/df4j-reactive-tck .
关于java - 在 Reactor 应用程序中测试对 Flux 的背压应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56073426/