
Gleb
19.10.2017
16:12:27
зачем такие странные вопросы?

Alex
19.10.2017
16:13:03

Gleb
19.10.2017
16:14:29
я сюда пришёл попакать по поводу того что постгрес не очень, а еще тут есть @pensnarik

Google

Alex
19.10.2017
16:15:01

Alex
19.10.2017
16:15:03
при чем тут постгрес не очень

Gleb
19.10.2017
16:15:03

Alex
19.10.2017
16:15:23
все вопрос закрыт

Gleb
19.10.2017
16:16:20
при чем тут постгрес не очень
ну я не понимаю твоего подгарания, ну типа мы все в чатике с определенным названием что само по себе уже говорит, чуть меньше конечно чем если бы мы были в чатике про монгодб. И тут ты начинаешь защищать очень не адекватное по сравнению с другими решение что меня просто в тупик ставит.

Alexander
19.10.2017
16:18:42

Alex
19.10.2017
16:22:50

Alexander
19.10.2017
16:26:02
когда кажется - креститься надо
пусть looking glass тебе сделают тогда

Alex
19.10.2017
16:26:58

Alex
19.10.2017
16:28:47

Google

Alex
19.10.2017
16:29:32
Нувыпонелида

Аггей
19.10.2017
16:34:48
Предметный разговорчик
Вот думаю не поможет ли в организации ha - подтверждение на n реплик из?

Игорь
19.10.2017
16:37:58
что вы имеете ввиду?

Alex
19.10.2017
16:40:24
когда нет необходимости ждать ответа от всех

Аггей
19.10.2017
16:45:59
Это должно решить проблему изоляции мастера... Но не подойдёт для географически распределенных систем

Alex
19.10.2017
16:48:58
используя механизм потоковой репликации
плюс обвязка

Stas
19.10.2017
16:50:39
это используется для снижения затрат на ожидания от полного набора реплик
могу попробовать ответить на твои вопросы:
* если haproxy это одна точка входа, то фенсинг не нужен, клиенты на старом мастере не появятся
* если точек входа для клиентов много, то можно делать lease по времени, типо демоут старого мастера делаем в течение 10 секунд после потери связи, а промоут слейва до мастера через 50 секунд. Это дает гарантию, что они не промоутятся одновременно в случае если чьи-то часы не идут в пять раз быстрее (при чем тут именно скорость, а не синхронизация дат, надо просто отсчитать время)
* коросинк по сравнению с etd мягко говоря архаичен. Но имеет поддержку от редхата

Аггей
19.10.2017
16:52:16
Вообще на haproxy можно же сервер просто отключать - чем не фэнсинг

Alex
19.10.2017
16:52:59
+2

Аггей
19.10.2017
16:53:29
Другое дело, что на том проекте где я автосвичовер делал - точек входа много - много haproxy (10 штук)

Alex
19.10.2017
16:54:31
Хороший ответ
И тот и тот
Спасибо

Игорь
19.10.2017
17:05:15
В роли фенсинга используется сторонняя обвязка ввиде patroni, который и управляет pg. Так же и отдает ответ о состоянии - up down. А трафик с мертвого мастера уводит хапрокси на живой мастер

Alex
19.10.2017
17:14:28

Stas
19.10.2017
17:14:34

Google

Stas
19.10.2017
17:15:22
Другое дело, какая вероятность такого сценария.

Sergey
19.10.2017
17:20:11
oom-киллер кстати можно отключить для процесса мониторилки. https://backdrift.org/oom-killer-how-to-create-oom-exclusions-in-linux

Alex
19.10.2017
17:22:14
сегодня как раз проверяли. systemd так просто не дает убить обвязку запускает сразу рестарт сервиса. правда можно еще убить и ее %)
так же есть например кейс оом киллера и процесса пг когда в момент рестарта инстанса обвязка думает что уже пора %)

Игорь
19.10.2017
17:23:46

Alex
19.10.2017
17:25:17
мне кажется нодо чтобы ха была заложена в драйвер.
как в jdbc
для ado connect такого пока не нашли. кстати может кто знает?
ессли драйвер сам может выбирать то есму не надо сложного решения
это я в отношении ха для хапрокси

Stas
19.10.2017
17:29:49

Игорь
19.10.2017
17:32:45
долго отвечать, я просто с домофона пишу. Но скажу что это самая благоприятная ситуация)

Stas
19.10.2017
17:36:15
еще важно, что клиенты должны иметь доступ к старому мастеру — сразу не написал

Alex
19.10.2017
17:36:17

Stas
19.10.2017
17:37:08
зачем?
если не имеют, то мы просто на хапрокси выставим нового мастера, а в старого никто писать не будет

Alex
19.10.2017
17:39:52
а

Игорь
19.10.2017
19:22:56

Google


Игорь
19.10.2017
20:03:19
не знаю что такое замок, но ситуация принципиальная. Вот мы отрезали мастер по сети от остальных участников кластера и сразу же прибили на нем все процессы патрони/etcd. Что произойдет?
Произойдет следующее (убивать etcd я не рассматриваю, так как это самый простой случай) убиваем patroni-master:
1) Остается работать PostgreSQL как и работал в режиме мастера, какое то время к нему приходят запросы на ЗАПИСЬ (это уже не отногсится к Patroni, а зависит от архитектуры. В моем случае через 3-8 секунд туда перестанет поступать трафик)
2) Эти записи будут реплицироваться в штатном режиме на replicas
3) По истечению 30 секунд (По умолчанию) - TTL записи в etcd замка мастера, он будет удален и втчение 10 секунд будет выбран новый replica
В случае отсутствия haproxy будет split brain! Это верно.
НО.
Как вы попадете на новый мастер? Если ответите (кто-нибудь) на этот вопрос, дам вам печеньку.
И даже для таких случаев (У меня было LA под 20 IO под 99%, oom убивал PG и Patroni работал) У Patroni есть watchdog, который убивает сервер при вылете patroni
https://github.com/zalando/patroni/blob/master/docs/releases.rst#version-13


Andy
19.10.2017
20:29:22

Stas
19.10.2017
20:39:18


Игорь
19.10.2017
20:50:27

Andy
19.10.2017
20:51:29

Игорь
19.10.2017
20:51:50
очень, наганяй от руководства очень

Andy
19.10.2017
20:52:08
Я у себя сейчас строю консул и хелс чеки на всю кухню

Stas
19.10.2017
20:52:32

Игорь
19.10.2017
20:53:03
лучше etcd. patroni с ним лучше дружит. с консулом баги были, недавно решили
хапрокси чекает патрони. патрони убит - ходить не будет
это про 6 сек

Stas
19.10.2017
20:56:57
Не поверю) если хапрокси один, то проблемы нет, он в конечном итоге определяет куда идет трафик. Если их несколько или сделано через список серверов в приложении, то есть.
Могу завтра нарисовать, если интересно.

Alex
19.10.2017
21:00:03
нужен рапределенный хапрокси
иначе городить огород когда опять единая точка отказа мне непонятно

Alex
19.10.2017
21:03:24
virtual ip не не слышал

Alex
19.10.2017
21:03:30
это про 6 сек
Мы бы кстати у себя в офисе с удовольствием бы послушали какуюнибудь презенташку про Ваш кейс.
Приходите как-нибудь к нам в ПостгресПро у нас есть печеньки и куча благодарных слушателей =)

Google

Alex
19.10.2017
21:04:10
эт другой вопрос

Alex
19.10.2017
21:04:17
самый первый
на нем обычно заканчивается выбор решения

Alex
19.10.2017
21:04:41
чатик не читай, камменты оставляй!
:)

Alex
19.10.2017
21:05:41
откуда начинать? с самого сначала? спасибо за предложение!

Alex
19.10.2017
21:06:41
нет, я извиняюсь что влез в тред не прочитав.

Alex
19.10.2017
21:06:58
тык ну так как мне устроить вирт айпе когда у меня например между цодами нету l2?

Игорь
19.10.2017
21:08:12

Аггей
19.10.2017
21:08:48

Игорь
19.10.2017
21:08:53

Alex
19.10.2017
21:10:18
почемуж слышал даже экзамены сдавал.

Gleb
19.10.2017
21:10:41

Аггей
19.10.2017
21:10:48
На самом деле нет разницы сколько их - хоть у каждого приложения свой - лишь бы чек мертвой ноды провалился и haproxy переключил на живую. Как раз за чек отвечает - получение статуса с patroni - не получил - или получил статус - реплика - трафик не шлешь

Alex
19.10.2017
21:13:27

Аггей
19.10.2017
21:14:07
Ну шардинг это насколько я понимаю - anti HA
Распределенка просто