The OpenNET Project / Index page

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

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

05.02.2018 10:04

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

Etcd позволяет организовать единое хранилище конфигурации для группы серверов, которое реплицируются на все узлы и поддерживается в синхронизированном состоянии с использованием протокола Raft. Наличие копии данных на всех хостах позволяет исключить потерю конфигурации при выходе из строя отдельного узла. В etcd также могут сохраняться временные данные, для которых предусмотрена возможность определения времени жизни записи. Для доступа к конфигурации предоставляется простой API, основанный на использовании gRPC.

Имеется встроенная возможность отслеживания изменения состояния ключа или директории с вызовом обработчика в случае обнаружения изменения (например, можно применить новое значение параметра конфигурации). Для защиты канала связи при обращении из внешней сети предоставляется поддержка TLS-шифрования, аутентификации клиентов по ключам и разграничения доступа через ACL. На типовом оборудовании etcd обеспечивает производительность порядка 10 тысяч операций записи в секунду. Для доступа к базе можно использовать утилиту etcdctl.

Основные новшества:

  • Улучшена работа бэкенда bbolt, представляющего собой форк Bolt DB, применяемый для хранения локальных данных на каждом узле. Добавлено несколько режимов поддержания списка свободных блоков, позволяющего оптимизировать доступ к блокам, ставшими неактуальными после выполнения транзакций и доступными для повторного использования (заполнения новыми данными). Список свободных блоков сохраняется на диске чтобы избежать ресурсоёмких операций сборки мусора во время запуска. Обратной стороной поддержания такого списка является существенное разрастание списка при выполнении большого числа транзакций. В качестве компромисса выбрана тактика перестроения списка свободных блоков во время выполнения операции восстановления ("recover"). На перестроение БД размером 10 Гб на современных системах тратится около 2 секунд. Для управления данным поведением представлено две опции "freelist sync" и "freelist no sync". Также увеличена производительность работы сборщика мусора;
  • Значительно улучшен механизм восстановления соединения клиента в сетях с нестабильным каналом связи, который теперь учитывает возможное сегментирование сети и временные обрывы соединения;
  • Добавлен экспериментальный режим "--experimental-corrupt-check-time" для мониторинга состояния хранилища на предмет возможных повреждений данных (например, из-за ошибок на уровне файловой системы) во время работы. Также добавлен режим "--experimental-initial-corrupt-check" который во время запуска проводит контроль целостности через запрос у пира контрольных сумм CRC32 для известной ревизии и их сверку с фактическим состоянием хранилища перед началом обработки запросов клиентов и других пиров;
  • Добавлен пакет clientv3/ordering с реализацией механизма причинной консистентности (causal consistency) для сериализированных запросов на чтение, обеспечивающий логическую целостность порядка операций чтения и записи, независимо от того к какому узлу обратился клиент (т.е. клиент всегда получит доступ к самой свежей ревизии);
  • Добавлен режим "--experimental-enable-v2v3", позволяющий эмулировать старый API v2 доступа к хранилищу поверх нового API v3 на базе gRPC, обеспечивая при этом более высокую эффективность и масштабироваие по сравнению с нативным API v2, который теперь объявлен устарвшим;
  • Добавлена возможность поддержания отдельного списка отозванных сертификатов X.509 (Certificate Revocation List), помимо штатного списка CRL от удостоверяющего центра. Для включения следует использовать опции "--client-crl-file" и "--peer-crl-file";
  • Добавлена возможность применения в TLS сертификатов, охватывающих группу поддоменов по маске (*.example.com в поле SAN (Subject Alternative Name));
  • Добавлена возможность "--peer-cert-allowed-cn" для аутентификации между пирами на основе проверки совпадения имени Common Name (CN) в сертификате;
  • Для работы в случае сегментации сети и невозможности прямого подключения клиента добавлена экспериментальная поддержка gRPC-прокси для трансляции запросов клиентов к кластеру etcd при помощи API v3;
  • Проведена большая работа по оптимизации производительности. При проведении тестирования отмечено заметное снижение задержек и увеличение пропускной способности с 32976 запросов в секунду до 35682 запросов в секунду.


  1. Главная ссылка к новости (https://coreos.com/blog/announ...)
  2. OpenNews: Релиз распределенной системы хранения конфигурации etcd 3.2
  3. OpenNews: Первый стабильный выпуск серверной Linux-системы CoreOS
  4. OpenNews: Проект CoreOS представил распределённую систему хранения Torus
  5. OpenNews: Red Hat поглощает компанию CoreOS
  6. OpenNews: Представлена распределённая операционная система DC/OS (Datacenter Operating System)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48024-etcd
Ключевые слова: etcd
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Andrey Mitrofanov (?), 16:23, 05/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    > Проект CoreOS (https://www.opennet.dev/opennews/art.shtml?num=40275), на днях купленный
    > (https://www.opennet.dev/opennews/art.shtml?num=47992) компанией Red Hat, опубликовал
    > (https://coreos.com/blog/announcing-etcd-3.3) релиз etcd 3.3 (https://coreos.com/etcd/),

    ...пропал колобуховский https://libelektra.org/ дом[I]!

    > высоконадёжного распределённого
    >задаваемых в форме
    >предоставление унифицированного
    >сервисах  для изолированных контейнеров
    >в платформе оркестровки контейнеров Kubernetes
    >на языке Go
    >под лицензией Apache 2.0.

     
     
  • 2.10, Аноним (-), 22:16, 05/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > колобуховский

    https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BB

     
     
  • 3.19, Andrey Mitrofanov (?), 10:51, 06/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> колобуховский
    > https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BB

    Именно. Сначала пение, потом трубы замёрзнут, потом..

     

  • 1.4, Dmitry77 (ok), 17:59, 05/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    И эти туда же
     
     
  • 2.18, Аноним (-), 10:05, 06/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Эти не туда же, эти оттуда же
     

  • 1.5, Аноним (-), 20:04, 05/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    2018 года а до сих пор блокчейн не прикрутили (((
     
     
  • 2.8, ПДК (?), 21:39, 05/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Каким боком тут блокчейн?
     
     
  • 3.16, Аноним (-), 07:56, 06/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Каким боком тут блокчейн?

    Чтобы никто не мог просто так настройки поломать, вот представь себе вордпресс на блокчейне.

     
     
  • 4.21, tonys (??), 13:03, 06/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Каждому вордпрессу по Nvidia 1080Ti.
     

  • 1.6, exSun (ok), 20:48, 05/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    systemd-etcd нет ещё?
     
     
  • 2.9, Ivan1986 (?), 22:05, 05/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://github.com/coreos/fleet
     
     
  • 3.20, Andrey Mitrofanov (?), 10:56, 06/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > https://github.com/coreos/fleet

    https://github.com/Xylemon/xlennart#about
       http://sisyphus.ru/en/srpm/Sisyphus/xlennart
       https://packages.devuan.org/devuan/pool/main/x/xlennart/

     

  • 1.17, Аноним (-), 09:58, 06/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Внезапно мы видим приехавший реестр а-ля Windows
     
     
  • 2.22, Аноним (-), 13:04, 06/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В каждой новости про етцд находится школьник, сравнивающий его с реестром.
     
     
  • 3.23, Аноним (-), 14:38, 06/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Потому что школьнику не снятся откаты от покупки вендорлока для работодателя-терпилы, и он может говорить правду.
     
     
  • 4.24, Товарищъ Анонимус (?), 10:59, 12/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Говорить - это все, что может школьник.
     
  • 4.25, Аноним (-), 03:25, 15/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Омг, ты бы хоть почитал, что это и зачем нужно. Никто не будет заменять dconf в твоей убунте на етцд, админы локалхоста могут спать спокойно.
    Кстати dconf - это как раз аналог реестра, а до него был gconf, и оно уже лет десять во всех убунтах и федорах. Где твоя правда теперь?
     

  • 1.26, Ne01eX (ok), 09:11, 16/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    gconf работает со схемами в xml, которые всё-таки можно поправить в обычном текстовом редакторе, в случае чего. В отличии от бинарного dconf, нарушающего всю идиллию мира *nix. Ну и, несмотря ни на что, - gconf никогда в гегемоны не набивался, ограничиваясь лишь Gnome DE. В отличии, блджад, от...

    З.Ы. В любом случае, etcd не об этом, так что расходимся, пaцаны... :-)

     

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



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

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