Сразу в прод: Как я тестирую мои стримы

Тестирование приложений с потоковыми процессами (Kafka Streams и ksqlDB) — это не всегда просто. Вы можете запустить простую топологию вручную и наблюдать за результатами. Что насчет повторяющихся тестов, которые можно запустить в любое время как часть сборки без Kafka-кластера или Zookeeper? К счастью, Kafka Streams включает модуль TopologyTestDriver (и ksqlDB включает тестировщика), который позволяет вам делать именно это. Если вы усвоите это, без сомнения, ваше покрытие тестами будет на высоте! Тем не менее, как будет работать ваше потоковое приложение после развертывания в рабочей среде? Вы можете опираться на внешние источники, например, на базы данных, веб-сервисы и коннекторы.

Виктор начнет свой доклад с основ юнит-тестирования приложений Kafka Streams с использованием TopologyTestDriver. Спикер также рассмотрит некоторые популярные опенсорсные библиотеки для тестирования потоковых приложений. Виктор продемонстрирует TestContainers — Java-библиотеку, которая предоставляет легкие одноразовые экземпляры общих баз данных, Kafka-кластеры, и всё, что можно запустить в контейнере Docker, и как использовать его для интеграционного тестирования приложений обработки. И, наконец, Виктор покажет ksqlDB тестировщика для юнит-тестирования ваших KSQL-приложений.

Виктор Гамов

Виктор Гамов — сооснователь и лидер любимого многими программистами правильного подкаста «Разбор Полётов». По совместительству является Developer Advocate в компании Confluent, которая разрабатывает платформу на базе Apache Kafka. Помогает клиентам в проектировании и разработке распределенных систем обработки потоковых данных. Соавтор книги «Enterprise Web Development» издательства O'Reilly.

В свободное от работы время Виктор не забывает про качалку и бицуху. Является завсегдатаем конференций JUG Ru Group (JPoint, Joker, JBreak) и других международных конференций (JavaOne, Devoxx, OSCON, Qcon). Пишет в Twitter как @gamussa. Ведет канал про Kafka в Telegram.

Виктор Гамов Confluent