Информация об изменениях

Сообщение ZooKeeper vs Chubby от 17.03.2020 1:09

Изменено 17.03.2020 1:10 A13x

ZooKeeper vs Chubby
Читал ли кто-то публичную документацию по Chubby [1]?
Интересно было бы узнать, насколько близко к нему приближены его open source аналоги [2]?

Самое по-видимому скрупулезное исследование в публичном доступе содержит смешанные результаты:

Use Zookeeper. It’s mature, well-designed, and battle-tested. Because the consequences of its connection model and linearizability properties are subtle, you should, wherever possible, take advantage of tested recipes and client libraries like Curator, which do their best to correctly handle the complex state transitions associated with session and connection loss.


В то же время:

Update 2019-07-23: @insumity explains that ZooKeeper sync+read is not, in fact, linearizable–there are conditions under which it might return stale reads.


Из замеченных различий еще то, что KeepAlive в ZooKeeper сделан поверх TCP, а не UDP как в Chubby. Видимо может сыграть роль в случае high congestion.
Еще API в ZooKeeper кажется несколько переусложненным, в отличии от API Chubby.

Возможные альтернативы ZooKeeper'у — etcd — по-видимому не предоставляет safe leases —

etcd locks are fundamentally unsafe...


из этого исследования

Вопрос — работал ли кто-то с ZooKeeper или его альтернативами [2] — и насколько по-вашему в работе проявлялись недостатки как отсутствие linearizability в ZooKeeper и насколько проблемы consistency мешают в реализации насколько возможно корректного leader election используя эти ZooKeeper/альтернативый вариант как distributed lock service?

---

[1]

* Official Paper
* Medium Article
* Chubby Design on Slideshare
* Youtube Presentation Video

[2] Open-Source аналоги chubby: https://www.g2.com/products/zookeeper/competitors/alternatives
ZooKeeper vs Chubby
Читал ли кто-то публичную документацию по Chubby [1]?
Интересно было бы узнать, насколько близко к нему приближены его open source аналоги [2]?

Самое по-видимому скрупулезное исследование в публичном доступе содержит смешанные результаты:

Use Zookeeper. It’s mature, well-designed, and battle-tested. Because the consequences of its connection model and linearizability properties are subtle, you should, wherever possible, take advantage of tested recipes and client libraries like Curator, which do their best to correctly handle the complex state transitions associated with session and connection loss.


В то же время:

Update 2019-07-23: @insumity explains that ZooKeeper sync+read is not, in fact, linearizable–there are conditions under which it might return stale reads.


Из замеченных различий еще то, что KeepAlive в ZooKeeper сделан поверх TCP, а не UDP как в Chubby. Видимо может сыграть роль в случае high congestion.
Еще API в ZooKeeper кажется несколько переусложненным, в отличии от API Chubby.

Возможные альтернативы ZooKeeper'у — etcd — по-видимому не предоставляет safe leases —

etcd locks are fundamentally unsafe...


из этого исследования

Вопрос — работал ли кто-то с ZooKeeper или его альтернативами [2] — и насколько по-вашему в работе проявлялись недостатки как отсутствие linearizability в ZooKeeper и насколько проблемы consistency мешают в реализации насколько возможно корректного leader election используя ZooKeeper/альтернативый вариант как distributed lock service?

---

[1]

* Official Paper
* Medium Article
* Chubby Design on Slideshare
* Youtube Presentation Video

[2] Open-Source аналоги chubby: https://www.g2.com/products/zookeeper/competitors/alternatives