Crash Recovery в Распределенном Хранилище Архитектуры, масштабируемость
Мы используем распределенное хранилище Apache Ignite в продакшне, как следствие, — предъявляем к нему высокие требования по надежности и доступности.
Раньше, в случае выхода узла из строя, обработка поступающих операций приостанавливалась на продолжительный период времени, до десятков секунд в некоторых кейсах. Простои такой длительности недопустимы для наших сервисов, поэтому процедура восстановления в Apache Ignite была мною доработана. Расскажу о том, как было, что изменилось и что еще предстоит сделать.
В докладе рассмотрим:
- гарантии сохранности данных в распределенных хранилищах,
- партиционирование и ребалансировку данных,
- разницу между кластером, кэшем и партицией,
- типы распределенных кэшей, статусы партиций,
- механизмы, позволяющие кластеру сохранять работоспособность и консистентность при смене топологии (входе и выходе узлов),
- "трюки", позволившие минимизировать время простоя при смене топологии,
- способы проверки эффективности оптимизаций, разрабатываемых и уже включенных в Apache Ignite.