Size: a a a

2020 August 29

LL

Lama Lover in pro.elixir
Как я понял, наш коллега хочет CP систему (из CAP). Если система сильно-консистента, то у неё должен быть какой-то единый источник данных (ну вроде того). Этот источник данных может быть постгресом, редисом (какой-то бд), лидером выбранным при инициализации (или выбираемый консенсусом в кворуме) или детерменированным алгоритмом выбора ноды по username-у (что можно задать только при инициализации или консенсусом в кворуме).

Из конкретных решений, я бы тут выбрал лидера с хордом или redis. С etcd я никогда не работал, но насколько я понимаю, он сильно больше read чем write
источник

B

Bogdan in pro.elixir
Вариант с БД(k-v) мне больше нравится тем так как ее можно на нескольких нодах раскачать
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Bogdan
Вариант с БД(k-v) мне больше нравится тем так как ее можно на нескольких нодах раскачать
Так если эти ноды сосплитятся - что делать будешь?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Типа мы не можем бороться с P, а постгрес такая волшебная может быть и C и A и P
источник

B

Bogdan in pro.elixir
Źmićer Rubinštejn
Так если эти ноды сосплитятся - что делать будешь?
ну вот etcd вроде это решает через рафт алгоритм
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ну тык он перестаёт быть C от этого
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ты же хочешь C
источник

B

Bogdan in pro.elixir
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Ну тык он перестаёт быть C от этого
Ничего он не перестаёт
источник

B

Bogdan in pro.elixir
Lama Lover
Как я понял, наш коллега хочет CP систему (из CAP). Если система сильно-консистента, то у неё должен быть какой-то единый источник данных (ну вроде того). Этот источник данных может быть постгресом, редисом (какой-то бд), лидером выбранным при инициализации (или выбираемый консенсусом в кворуме) или детерменированным алгоритмом выбора ноды по username-у (что можно задать только при инициализации или консенсусом в кворуме).

Из конкретных решений, я бы тут выбрал лидера с хордом или redis. С etcd я никогда не работал, но насколько я понимаю, он сильно больше read чем write
они пишут на сайте что 1000 врайтов в секунду
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Да, я перепутал. Он все ещё не P
источник

LL

Lama Lover in pro.elixir
Системы где лидер выбирается консенсусом точно такие же CP как и где лидер выбирается при инициализации (как master-slave в PostrgeSQL)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
В случае сплита кластера raft каждый выбирает себе лидера
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
В случае сплита кластера raft каждый выбирает себе лидера
Насколько я понял, в случае сплита etcd перестаёт работать, разве нет?
источник

LL

Lama Lover in pro.elixir
Если etcd работает во время сплита, то он не Strong Consistent
источник

B

Bogdan in pro.elixir
Так вообщем прошу прощения, понятие сплита похоже было применено мной не корректно. Ноды не знают ни чего друг о друге и не связанны. Под сплитом я имел введу обрыв одной из нод. Соответственно мне нужно CA так как P меня в принципи не волнует.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Lama Lover
Насколько я понял, в случае сплита etcd перестаёт работать, разве нет?
Слишком сложно, но походу на чтение продолжает работать..
источник

ŹR

Źmićer Rubinštejn in pro.elixir
источник

LL

Lama Lover in pro.elixir
Bogdan
Так вообщем прошу прощения, понятие сплита похоже было применено мной не корректно. Ноды не знают ни чего друг о друге и не связанны. Под сплитом я имел введу обрыв одной из нод. Соответственно мне нужно CA так как P меня в принципи не волнует.
Ты наивно думаешь что твои ноды не связаны, но на самом деле они связаны через ту базу данных, которую ты выберешь для этого kv
источник

B

Bogdan in pro.elixir
ну это да.
источник