nixp.ru v3.0

14 ноября 2024,
четверг,
07:16:17 MSK

22 мая 2017, 14:11

zetcd — новый проект CoreOS, проксирующий запросы к ZooKeeper в кластер etcd

Иерархия ZooKeeper в хранилище etcd
Иерархия ZooKeeper в хранилище etcd
Иллюстрация с сайта Coreos.Com

Компания CoreOS, развивающая контейнерные решения (Tectonic на базе Kubernetes и другие), представила свой новый Open Source-проект zetcd, проксирующий запросы к ZooKeeper в кластер на базе etcd.

Apache ZooKeeper — иерархическое хранилище пар ключ-значение (KV), часто используемое для различных нужд крупных распределённых систем. В CoreOS решили подготовить решение, которое позволяло бы системам, выбравшим в качестве бэкенда ZooKeeper, функционировать в кластерах на базе etcd — другого KV-хранилища, разработанного в самой CoreOS и ставшего стандартом для Kubernetes (для постоянного хранения всех REST API-объектов). Модель данных и клиентский протокол, используемые в etcd, делают приложения, использующие ZooKeeper, несовместимыми с хранилищем от CoreOS, но с zetcd ситуация меняется.

Появление zetcd стало возможным благодаря «достаточно выразительному» API в etcd v3, позволившему реализовать эмуляцию модели данных ZooKeeper на стороне клиента с помощью обычного прокси-сервера. Таким образом, прокси zetcd устанавливается перед кластером etcd, обслуживая клиентский порт для ZooKeeper, что позволяет запускать с etcd использующие ZooKeeper приложения, не внося в них изменения. При этом авторы обещают производительность, которая сопоставима с показателями оригинального решения (т.е. при использовании обычного ZooKeeper).

Ранние наработки zetcd были доступны Open Source-сообществу ещё в октябре, а на прошлой неделе состоялся первый публичный релиз — zetcd v0.0.1, — ознаменовавший официальный переход проекта в статус бета-версии и близкую готовность к использованию в production. В CoreOS ожидают, что zetcd сможет стать готовой заменой для ZooKeeper в таких проектах, как Mesos, Kafka и Drill. Исходный код zetcd написан на языке Go, распространяется на условиях свободной лицензии Apache License v2 и опубликован на GitHub.

P.S. Подробнее об устройстве zetcd и принципах его работы на русском языке можно прочитать в блоге компании «Флант».

Постоянная ссылка к новости: http://www.nixp.ru/news/14040.html. Дмитрий Шурупов по материалам Coreos.Com.

fb twitter vk