Алексей Рагозин — Блеск и нищета распределенных кешей
Автор: JPoint, Joker и JUG ru — Java-конференции
Загружено: 22 июн. 2014 г.
Просмотров: 4 725 просмотров
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
. . . . Алексей Рагозин, Deutsche Bank — Блеск и нищета распределенных кешей
Встреча JUG.ru 05.06.2014
Часть 1. Как и зачем эмулировать распределённый кластер в JVM
Написание автоматических тестов для распределённых Java приложений — дело непростое. Можно ограничиться модульными тестами на отдельные компоненты, но в таком тестовом покрытии будет много белых пятен. Можно пробовать запустить сложную топологию компонентов в рамках теста, но это не всегда работает (статика, сетевая конфигурация и т.п.).
На протяжении нескольких лет Алексей разрабатывал схемы для тестирования и отладки кластерных приложений на Oracle Coherence. Результатом этих усилий стала библиотека, позволяющая эмулировать несколько независимых процессов в одной JVM (с разными system properties, classpath и т.д.). Тот же подход был успешно использован для запуска стека Hadoop + Zookeeper + HBase в рамках интеграционных тестов на основе JUnit.
В докладе будет рассказано о свойствах получившейся Open Source библиотеки и тех возможностях, которые она открывает для автоматического непрерывного тестирования (тесты на обратную совместимость, тесты процедур восстановления после сбоя и т.п.).
Часть 2. Сеть — это большая JVM
Программный интерфейс для управления «виртуальными» Java-процессами из предыдущего доклада получился довольно хорош. Настолько хорош, что захотелось использовать его для управления реальным распределённым кластером. Немного чёрной магии (JSch, репликация classpath и п.р.) и, вуаля, с помощью дюжины строчек кода можно запустить java.util.Runnable на любом доступном по SSH удалённом сервере без предварительного развёртывания, установки агентов и т.п.
Чем это полезно? Две основные задачи, для решения которых мы пользуемся этим инструментом - это автоматические распределённые нагрузочные тесты и развёртывание. Для задач развёртывания так же создан ANT task, предоставляющий возможности выполнять часть скрипта удалённо (опять же, без развёртывания и агентов).

Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: