109: (animated-1)
[personal profile] 109
вот статья, описывающая некий алгоритм под названием Raft. в начале статьи хорошо описаны проблемы с paxos. saves me some time, если я вдруг доберусь свою white paper написать. ну и я согласен с общим подходом ставить понятность во главу угла.

но, блядь, не получилось же опять. вот уже на странице №5 видно. не справились с поставленной задачей иметь только одного лидера в системе.

прокол №1: сразу после получения кандидатом большинства голосов возникает split brain, с новоизбранным лидером в меньшей половине. большая половина не получает извещения о новоизбранном лидере, и избирает своего. хоба-на, два лидера.

прокол №2, related to #1, но более generic. безо всяких выборов, не описано никакого механизма отдетектировать split brain. лидер, оказавшийся в меньшей половине, будет продолжать считать себя лидером.

и тут авторы делают хитрый трюк. да, говорят они, действительно, получается, что может быть больше одного лидера. но только один из них сможет закоммитить лог!

ну то есть, задача на самом деле не решается, а перекладывается на другое место. теперь, когда появилось новое действующее лицо - лог, который при нормальном решении проблемы на собственно выборы влиять никак не должен, авторам приходится заботиться о том, чтобы лидером мог стать только сервер, у которого самый длинный лог. к сожалению, коллективно решить, у кого самый длинный лог (который ещё и может расти прямо в процессе решения) - это задача, для решения которой нужен concensus algorithm, для которого нужен работающий leader election. круг замкнулся.

да, я вижу картинку 7, она не помогает на фига. представим себе следующее. три сервера S1..S3, S1 - лидер. update 1 закоммичен S1 и S2, update 2 закоммичен S1 и S3. теперь лидер падает. имеем S2 с первым апдейтом и S3 со вторым. никакого механизма merge алгоритмом не предусмотрено. или S3 не сможет закоммитить второй апдейт без первого? тогда, во-первых, liveness cтрадает, и во-вторых, где это написано?

костя,

Date: 2013-09-08 08:07 pm (UTC)
From: [identity profile] owssrmn.livejournal.com
я даже несколько опасаюсь тебе рекомендовать почитать про db2...

(no subject)

Date: 2013-09-09 07:38 pm (UTC)
From: [identity profile] 109.livejournal.com
а оно разве не зоокипер использует? а по поводу зоокипера я уже высказывался :)

Profile

109: (Default)
109

March 2019

S M T W T F S
     12
3456789
101112131415 16
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags