Базы данных – краеугольный камень любой отказоустойчивой системы. Но по-настоящему простого, удобного и надежного кластерного решения до сих пор не существует.
В нашей компании мы столкнулись с этой проблемой, когда переносили практически все свои базы данных Postgresql в кластер Kubernetes.
Микросервисы – удобство, но не без проблем
Переход на микросервисную архитектуру привел к появлению сотен отдельных кластеров БД – по одному под каждый микросервис. Это решение, хотя и удобное, обернулось перерасходом железа.
Традиционные решения – надежно, но сложно
Для самых нагруженных и объемных кластеров нам все же пришлось использовать традиционные кластеры на «голом» железе.
Patroni – надежный failover, но не панацея
Хотя для Kubernetes существует надежный инструмент failover postgresql – patroni, он не решает всех проблем.
Администратор – всегда начеку
Администраторам кластеров баз данных, к сожалению, не избежать ночных подъемов и решения внезапно возникающих проблем.
Поиск баланса
Поиск баланса между простотой, надежностью и эффективностью использования ресурсов – задача, с которой мы сталкиваемся ежедневно. Пока идеального решения не найдено, но мы продолжаем искать и пробовать новые подходы.
P.S.
В комментариях делитесь своим опытом работы с кластерами баз данных в Kubernetes.