java - 在 Reactor 应用程序中测试对 Flux 的背压应用程序
问题描述
我正在使用 Reactor 从 Kafka 主题中读取数据。每条消息的细化请求对 MongoDB 的查询,这比从 Kafka 主题读取消息要慢。因此,我对流应用了背压处理。
receiver.receive()
// Limiting the reading operation
.limitRate(50)
// processMessage accesses to the database
.flatMap(this::processMessage)
.publish()
// Simplification here
.subscribe();
我正在使用 aConnectableFlux
来为生产者提供多个订阅者KafkaReceiver
。KafkaReceiver
本机不允许超过一个订阅者。
我需要测试我的代码是否正确地将背压应用于流。我怎么能做到这一点,使用一些集成测试?
谢谢大家。
解决方案
Reactive Streams项目有一个测试套件(称为 TCK)来测试反应流的实现(包括背压)。我用它来测试我的 Publisher 接口的实现:https ://github.com/akaigoro/df4j/tree/API-7/df4j-reactive-tck 。
推荐阅读
- reactjs - Office-JS 缺少更多 TypeScript 定义
- python - 如何减少 matplotlib 图上显示的 xticks 数量?
- python - 想知道为什么这两个的结果不同?
- ios - ARKit 从屏幕平移创建节点
- powershell - 禁用拆分隧道
- java - “SQLServerException:字符串或二进制数据将被截断”问题 - 已配置 H2 DB 进行诊断,但列大小更改未生效?
- c# - DateTime.ParseExact 引发以下错误“字符串未被识别为有效的日期时间”
- java - 使用正则表达式断言 RestAssured 响应正文
- css - SVG 文件在 Safari 和移动 Safari 中模糊
- javascript - 如何正确制作多个字段 $min