Испытание приложения противодавления для потока в приложении Reactor - PullRequest
1 голос
/ 10 мая 2019

Я использую Reactor для чтения из темы Кафки.При разработке каждого сообщения запрашивается запрос в 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 не позволяет использовать более одного подписчика.

Мне нужно проверить, правильно ли мой код применяет противодавление к потоку.Как я могу это сделать, используя некоторые интеграционные тесты ?

Спасибо всем.

1 Ответ

0 голосов
/ 10 мая 2019

Проект Reactive Streams имеет набор тестов (называемый TCK) для тестирования реализаций реактивных потоков (включая противодавление).Я использовал его, чтобы проверить мою реализацию интерфейса Publisher: https://github.com/akaigoro/df4j/tree/API-7/df4j-reactive-tck.

...