EMZETT.
Увійти

etcd і ZooKeeper

Коротко: etcd і ZooKeeper — невеликі, суворо узгоджені сховища даних, за допомогою яких розподілені програми координують конфігурацію, блокування та вибір лідера.

Докладніше: Вони зберігають небагато, але важливих даних на кількох вузлах і домовляються про них за протоколом консенсусу. etcd використовує Raft, ZooKeeper — протокол ZAB.

Подробиці

  • Модель даних: etcd: пласке сховище «ключ — значення». ZooKeeper: дерево «znode», як файлова система.
  • Watch: Клієнтів сповіщають про зміни замість постійних опитувань.
  • Lease/ефемерні вузли: Запис зникає, коли виходить з ладу його власник. На цьому ґрунтуються реєстрація служб і вибір лідера.
  • Кворум: Потрібна більшість вузлів (3 або 5). Якщо вона втрачається, запис припиняється.
  • Застосування: etcd — сховище стану Kubernetes. ZooKeeper довго координував Kafka та Hadoop.
  • Не призначені для: великих обсягів даних або високого навантаження на запис.

Див. також: Kubernetes