Модернизация MySQL от Uber
Uber улучшил свою MySQL-инфраструктуру, заменив внешнюю систему переключения на MySQL Group Replication (MGR). Это изменение сократило время простоя с минут до 10 секунд и затронуло тысячи кластеров, значительно повысив надежность систем.
Технологические преимущества
Ранее Uber использовал однопервичный асинхронный репликационный режим, что приводило к значительным срокам простоя при сбоях. Архитектура MGR, основанная на консенсусе, встраивает репликацию в базу данных, создавая трехузловой кластер, где один узел отвечает за запись, а два других — за консенсус и поддержку актуальности данных.
Теперь система автоматически выбирает новый первичный узел в случае необходимости. Аналитики Uber подчеркивают, что высокое время доступности является критически важным для их бизнеса. Система автоматического контроля обеспечивает надежное управление узлами, что также помогает избежать потерь данных и нарушений консистентности.
В ходе тестирования новой архитектуры было установлено, что время записи увеличилось всего на несколько сотен микросекунд, но общее время недоступности записи при сбоях первичного узла сократилось с минут до менее чем 10 секунд. Это значительно улучшило производительность системы.
Для русскоязычных разработчиков это нововведение может стать хорошим примером применения технологий для повышения доступности баз данных. Внедрение MGR может быть полезным решением для тех систем, которые требуют высокой надежности и быстрой обработки данных.
В будущем Uber планирует усилить автоматизацию управления кластерами и исследовать новые пути оптимизации своей MySQL-инфраструктуры.