The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск распределенной системы хранения конфигурации etcd 2.1

03.08.2015 15:27

Проект CoreOS, развивающий основанное на идеях контейнерной изоляции серверное окружение, опубликовал релиз etcd 2.1, высоконадёжного распределённого хранилища параметров конфигурации, задаваемых в форме ключ/значение. Основным назначением etcd является предоставление унифицированного механизма хранения конфигурации и информации о работающих сервисах для изолированных контейнеров с типовой начинкой. Код etcd написан на языке Go и распространяется под лицензией Apache.

Etcd позволяет организовать единое хранилище конфигурации для группы серверов, которое реплицируются на все узлы и поддерживается в синхронизированном состоянии с использованием протокола Raft. Наличие копии данных на всех хостах позволяет исключить потерю конфигурации при выходе из строя отдельного узла. В etcd также могут сохраняться временные данные, для которых предусмотрена возможность определения времени жизни записи. Для доступа к конфигурации предоставляется простой API, основанный на использовании HTTP и JSON, web-интерфейс, утилита etcdctl для работы с хранилищем из командной строки и FUSE-модуль etcd-fs для экспорта хранилища в виде файловой системы.

Для перехода на новую версию подготовлены средства бесшовного обновления, позволяющие заменить etcd 2.0 на etcd 2.1 без остановки работы сервиса. Особенности выпуска etcd 2.1:

  • Реализован API /v2/auth, расширяющий типовой API etcd средствами для аутентификации и авторизации. Данный Auth API даёт возможность управления доступом к группам хранимых ключей на основе задания ролей и владельцев префиксов ключей c аутентификацией через штатные методы HTTP. Поддержка Auth API добавлена в сервер etcd, утилиты командной строки и клиентские привязки;
  • Новый Metrics API, который может применяться для мониторинга и отладки в режиме реального времени. Через данный API можно получить доступ к актуальной статистике, содержащей информацию о работающих с хранилищем клиентах и расходуемых ресурсах;
  • Увеличена стабильность работы в условиях использования ненадёжных каналов связи, в которых наблюдаются провалы пропускной способности и высокие задержки в доставке пакетов. Сокращена интенсивность создания соединений - вместо создания серии единичных соединений для каждой операции, etcd теперь применяет установку долгоживущих соединений с хостами, не разрываемых после каждого запроса. Произведено объединение отправки команд достижения консенсуса между узлами (raft) с индексом коммитов, что позволило увеличить отзывчивость со 100 мс до 1 мс в условиях небольшой нагрузки (менее 100 записей в секунду). Реализация алгоритма raft расширена более качественными средствами контроля потока, что существенно снизило вероятность потери raft-сообщений и увеличено эффективность расходования памяти и ресурсов CPU;
  • Подготовлен фреймворк для функционального тестирования etcd, позволяющий выявить и устранить возможные проблемы, проявляющиеся в условиях высокой нагрузки, и оценить поведение системы при возникновении различных видов сбоев.
  • Реализована система многоуровневых логов, дающая возможность определять степень охвата журналируемых действий через задание уровня ведения лога - от вывода только критичных уведомлений до подробнейшего лога в режиме отладки. Улучшена читаемость информации в логах.


  1. Главная ссылка к новости (https://coreos.com/blog/introd...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42716-etcd
Ключевые слова: etcd
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (28) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, хрюкотающий зелюк (?), 16:25, 03/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    То что надо! Предстоит заюзать подобное :)
     
     
  • 2.2, SunXE (ok), 16:43, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Очень не стабильное и глючное поделие
     
     
  • 3.3, EHLO (?), 17:03, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    CoreOS, или конкретно сабж?
     
     
  • 4.7, SunXE (ok), 17:10, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Конкретно etcd, но думаю и CoreOS так же расслабленно разрабатывают.
    Простой пример, когда выпустили первую стабильную версию, не проверили работу этой поделки по шифрованным протоколам! Из-за чего на следующий день после релиза стейбла пришлось выпускать внеочередное обновление.  На нашем опыте эта штука работает очень не предсказуемо. Хотели внедрять её, но передумали.
     
     
  • 5.10, crypt (ok), 17:27, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вот блин! а казалось бы небольшая утилита! я вот как раз раздумывал, не начать ли использовать ли ее, если появилась авторизация. У вас давно глюки были? На старых или текущих версиях?
     
     
  • 6.11, SunXE (ok), 17:45, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Последний раз смотрели версию 2.0. Попробуйте может подкрутили постабильности, главное использовать больше 3-х нод.
     
     
  • 7.18, crypt (ok), 22:40, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    ну понятно, спасибо
     

  • 1.4, Аноним (-), 17:08, 03/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это они реестр придумали?
     
     
  • 2.6, jOKer (ok), 17:10, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Это они Active Directory нИасилили!))
     
  • 2.19, Diozan (??), 23:27, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Именно так. Только Поттеригу это не показывайте.
     

  • 1.5, jOKer (ok), 17:09, 03/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ну и зачем эти наколенные поделия если есть каталожные сервера, которые (в том числе) для этого и предназначены?
     
     
  • 2.8, SunXE (ok), 17:16, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это не каталог, это быстрая хранилка ключь-значение как redis или zookeeper.
    Etcd отличается от них тем, что она изначально планировалась как распределенная и отказоустойчивая.
     
     
  • 3.9, anonymous (??), 17:19, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну LDAP - это тоже своего рода "хранилка ключ-значение", оптимизированная на чтение
     
     
  • 4.13, anonymous (??), 18:10, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    LDAP - оптимизированная?
     
     
  • 5.15, dss (ok), 18:56, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    ты даже не поверишь, насколько.
    это запись в ldap обычно медленная, оно больше для справочных данных, которые обновляются редко, а нужны часто.
    а на чтение боевые ldap решения быстрые как понос.
     
  • 3.12, клоун (?), 17:48, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эта - универсальная. Потому и Go.
     
  • 3.20, Аноним (-), 23:47, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Они что, перепридумали sqlite?
     
  • 2.16, Аноним (-), 19:23, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Можно пример ldap с реализацией Raft?
     
     
  • 3.17, jOKer (ok), 20:25, 03/08/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А можно сперва узнать нафейхоа? В смысле, зачем может понадобится этот протокол в деле синхронизации узлов LDAP? Сколько мне известно в OpenLDAP эту задачу выполняет LDAP Content Synchronization protocol и его (вы не поверите!) вполне достаточно для решения всех задач связанных с распространением обновленных данных по узлам. У других каталожных серверов тоже есть подобные механизмы, так зачем цеплять кирпич к хвосту синицы?
     
     
  • 4.21, Аноним (-), 00:29, 04/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    он просто не знает ничего про лдап, это даже не NIH-синдром, это простая безграмотность, как  у авторов сабжа.
     
  • 4.30, Аноним (-), 00:45, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте Вы сначала расскажете как вместо реализаций Raft (etcd) использовать LDAP с LDAP Content Synchronization protocol? :-)
     
     
  • 5.31, Аноним (-), 01:19, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Давайте Вы сначала расскажете как вместо реализаций Raft (etcd) использовать LDAP с
    > LDAP Content Synchronization protocol? :-)

    ровно так же как школофанбои вместо давно известных средств для всего лепят новые и новые костыли, только по итогам использования проблем меньше огребётся

     
  • 2.23, Crazy Alex (ok), 01:53, 04/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Единственное, что могу придумать - это адовая сложность этих самых каталожных серверов. Нужная далеко не всегда, начиная с тех же asn.1 и kerberos.
     
     
  • 3.24, Аноним (-), 03:54, 04/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >адовая сложность этих самых каталожных серверов.

    мозг из задницы вынь и вставь обратно в голову

     
     
  • 4.25, Аноним (-), 08:57, 04/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Увы все чаще данный орган атрофирован
     
     
  • 5.26, 1 (??), 10:07, 04/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вы про задницу ?
     
  • 2.32, . (?), 08:30, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну и зачем эти наколенные поделия если есть каталожные сервера, которые (в том числе) для этого и предназначены?

    Для LDAP нужен код, который его поддерживает, библиотеки, конфигурационные файлы. А эта хрень конфигурирует микросервисы прямо по DNS ничего лишнего.

     

  • 1.22, rvm1975 (?), 00:37, 04/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чем-то напоминает идею registry ot MS
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру