Пацаны, а вы сильны духом? У вас есть стальные яйца? А вот у https://aiven.io/postgresql — они есть, по крайне мере с их слов.
Всегда приятно видеть честный SLA. Да, в рекламных буклетах 99% SLA по доступности — выглядит паршиво, кто пойдёт к такому провайдеру? Да даже 99.95% — это не предел мечтаний (хотя именно столько у https://www.elephantsql.com/plans.html). Но, никто не застремает вас, если вы укажите что-то типа 99.995%, или даже 99.99%. Все мы люди, все ошибаются, ничего не вечно, ничего не надежно, «даже в компиляторах есть баги». Но камон, зачем писать про 100%?
Конечно же, к парням из aiven нет никаких вопросов. Они чёрным по белому пишут, что баблом они не отвечают за этот SLA. Они просто дадут вам возможность бесплатно юзать сервис (количество времени = 30 * количество даунтайма (OMGTF, что за ужасное слово).
Мне вот интересно. Я столкнулся с проблемой. Надо построить High Availability (да-да, reliability, scalability, manageability, enterprise grade solution — нет) решение — Сервис PostgreSQL. То есть, хочется отдавать клиенту URL — postgres://username:password@hostname/databasename, ииии, чтобы ему было хорошо. Чтобы всё само скейлилось, сам master переключался (Follower), сам диск рос, а клиент только бабло заносил. И, надо сказать, никакой готовой открытой платформы я для этого не нашёл. Чем бы тут можно было воспользоваться?
Пока что единственное, что приходит в голову — это делать всё самому. Раскидываем серваки по нескольким ДЦ (КЛАУД ПРАВАЙДЕРЫ СПАСУТ НАС ТУТ), делаем синхронную репликацию между ДЦ, в рамках одного ДЦ можно, наверное, обойтись асинхронной репликацией, не понятно, удволитворит ли такое клиентов, хотя никто им не обешал CAP-а. Дальше мониторим доступность серваков, если мастер помер — быстро меняем его на сервак в дургом ДЦ, в котором у нас был синхронный WAL.
Меня несколько удивляет, не я же первый всё это хочу сделать. По логике вещей, должен быть какой-то правильный путь, как в случае с NewSql базами. Может быть я делаю какую-то херню, и вы знаете более правильный путь?
Категории: Программирование