Алексей Рагозин — Как и зачем эмулировать распределённый кластер в JVM HD
Алексей Рагозин, Deutsche Bank — Из распределённого кластера в JVM и обратно! Часть 1: Как и зачем эмулировать распределённый кластер в JVM Встреча JUG.ru 12.12.2013 Написание автоматических тестов для распределённых Java приложений — дело непростое. Можно ограничиться модульными тестами на отдельные компоненты, но в таком тестовом покрытии будет много белых пятен. Можно пробовать запустить сложную топологию компонентов в рамках теста, но это не всегда работает (статика, сетевая конфигурация и т.п.). На протяжении нескольких лет Алексей разрабатывал схемы для тестирования и отладки кластерных приложений на Oracle Coherence. Результатом этих усилий стала библиотека, позволяющая эмулировать несколько независимых процессов в одной JVM (с разными system properties, classpath и т.д.). Тот же подход был успешно использован для запуска стека Hadoop + Zookeeper + HBase в рамках интеграционных тестов на основе JUnit. В докладе будет рассказано о свойствах получившейся Open Source библиотеки и тех возможностях, которые она открывает для автоматического непрерывного тестирования (тесты на обратную совместимость, тесты процедур восстановления после сбоя и т.п.).