Previous Entry Share Next Entry
photo25

Про серебряные пули

Чем глубже я укапываюсь в P2P и personal cloud'ы, тем больше кажется, что добрая половина, а может и больше выехавших за счет технологий (т.е. Yo и Groupon не в счёт) проектов в последние 10 лет сделали это, в том числе, решением проблемы distributed consensus в каком-то частном случае.

Google, Dropbox, Bitcoin, все "web-scale" NoSQL БД, WhatsApp, Hadoop, Skype, Nicira, Contrail, BitTorrent, ну и так далее.

Во всяком случае, это проблема, не имеющая plug&play решения до сих пор, а всплывает она регулярно. В нее упираются попытки делать любые не-идемпотентные (ну или не-монотонные) операции. В последнее время все любят CRDT (и я тоже очень люблю), как универсальный способ резко расширить ассортимент идемпотентных операций, но вот log compaction, шифрование (key agreement в рамках группы) и cluster membership change всё равно требуют консенсуса.

А еще, как только количество узлов, которые пытаются договориться, вырастает, резко становится актуальным роутинг. Который, эээ, тоже без консенсуса неважно работает (собственно, именно поэтому там в список попали Skype, Nicira и тд).

Если обобщить еще чуть дальше, то профит упирается в масштабы, масштабы упираются в размер системы, остающейся управляемой, что упирается в консенсус. Это не то чтобы главный технологический secret sauce, но один из ключевых. Но про machine learning и прочие ништяки уже много писали, а про это - не очень.

UPD: Тут sorhed отмечает, что глобальный консенсус часто невозможен и даже вреден, уточню определение консенсуса до "the ability of the participating agents to perceive a locally meaningful view of the system state to make informed decisions"

This entry was originally posted at http://wizzard.dreamwidth.org/395324.html. It has comment count unavailable comments. Please comment there using OpenID.

  • 1
sassa_nf October 19th, 2014
а можно подробнее, что там с cluster membership не так, а то я знаком лишь поверхностно?

wizzard0 October 19th, 2014
если хочется выкинуть ноду, надо обьяснить всем остальным что ее выкинули.

а в это время могут кого-то добавлять, кто-то может временно свалить, и потом придёт, а все уже с новым ключом, etc etc.

непросто, короче.

sassa_nf October 19th, 2014
я думал, кворум эти задачи решает. (т.к. тогда не нужно объяснять всем)

wizzard0 October 19th, 2014
он их облегчает, бесспорно. но так чтоб "автомагически" - нет.

bvlb October 19th, 2014
> Но про machine learning и прочие ништяки уже много писали, а про это - не очень.

zookeeper, doozer, etcd и с десяток альтернатив развиваются довольно активно, и появляются новые. Просто говорят обычно о конечном продукте типа хадуп или сторм, а не о миддлво.

wizzard0 October 19th, 2014
zk и etcd это 3-10 пиров, а не 1000 (и их невозможно сделать на 1000, там трафик что-то около кубический от колва пиров)

Edited at 2014-10-19 02:44 pm (UTC)

bvlb October 19th, 2014
а как же твиттер на сторме тогда работает (работал?), если сторм опирается на зукипер? Я не тролю, я действительно его никогда не видел на 1К узлов, сам игрался на максимум 20 - EC2 больше не выдавал без объяснительной.


wizzard0 October 19th, 2014
Голосующих узлов десяток, и скажем 100 тысяч просто вычислительных слейвов.

109 October 19th, 2014
глобальный конценсус, безусловно, возможен. взять хотя бы биткойн, или quorum-based алгоритмы. проблема не в самом конценсусе, а в scalability. ни биткойн, ни quorum-based не смогут производить 50,000 конценсусов в секунду.

wizzard0 October 19th, 2014
ну да, биткойн здесь именно поэтому.

blackyblack October 20th, 2014
Наверное разогнать как-то можно. Но боюсь всё равно CAP где-то да сработает.

109 October 20th, 2014
я уже миллион раз объяснял про CAP. она говорит только одно: если делать "вот так", то не получится. сегодня уже столько примеров, как делать по-другому, что вспоминать CAP даже как-то неприлично.

blackyblack October 20th, 2014
ОК. Я так-то не настоящий сварщик. У нас тут конесенсусы всякие пилят, а я только рядом стою.

sorhed October 20th, 2014
А вот именно поэтому в Bitcoin Foundation и думают, как бы убрать этот глобальный лок. Мой пойнт остаётся — глобальный консенсус не нужен.

109 October 20th, 2014
какой ещё глобальный лок?

wizzard0 October 22nd, 2014
ну не лок, но total ordering между транзакциями.

ex0_planet October 19th, 2014
а bittorrent-то как сюда попал (если без DHT)?

wizzard0 October 19th, 2014
потому что пиры сварма в итоге приходят к единому состоянию (у всех есть одинаковый файл)

ну и да, дхт тоже

Edited at 2014-10-19 02:45 pm (UTC)

  • 1
?

Log in

No account? Create an account