我正在使用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
本身不允许有多个订阅者。
我需要测试我的代码是否将反压正确地应用于流。我如何使用一些集成测试?
感谢所有人。
答案 0 :(得分:0)
Reactive Streams项目具有一个测试套件(称为TCK),用于测试反应性流(包括背压)的实现。我用它来测试发布者界面的实现:https://github.com/akaigoro/df4j/tree/API-7/df4j-reactive-tck。