Высоконагруженный сервис: 2+ млн пользователей, 50К+ активных пользователей каждый день. Сервера находятся в Public Cloud (AWS, Mail.ru Cloud, etc): в работе постоянно 100+ различных серверов, из них больше половины — с базами данных
Backend — большое монолитное stateful-приложение на Java, которое держит постоянное websocket соединение с клиентом. Одновременная нагрузка - 10К запросов в секунду к базам. В данный момент используется Redis, где в пиковой нагрузке пишется по 80-100К запросов в секунду
Допустим вы решили переехать с Redis на PostgresQL, где есть транзакции и нет такой зависимости от параметра latency и нужно обеспечить соответствующую отказоустойчивость
Мы поможем:
– быстро и безопасно осуществить саму миграцию текущая СУБД -> PostgreSQL
– обеспечить нужный уровень отказоустойчивости
Как мы делаем последнее?
Мы используем Patroni - шаблон на Python для управления PostgreSQL c исходным кодом на GitHub
Почему Patroni?
– Описан каждый параметр конфигурации в документации
– Автоматический failover из коробки
– Полностью управляет PostgreSQL, позволяет менять конфигурацию сразу на всех нодах кластера, а если для применения новой конфигурации требуется перезапуск кластера, то это можно сделать опять же с помощью Patroni