Кластерный движок Corosync
Разработчик(и) | Сообщество разработчиков Corosync |
---|---|
Первоначальный выпуск | 2008 год |
Стабильная версия | 3.1.8 [1] ()
/ 15 ноября 2023 г. |
Репозиторий | |
Написано в | С |
Операционная система | Кросс-платформенный |
Тип | Система групповой связи |
Лицензия | Новая лицензия BSD |
Веб-сайт | коросинк |
Corosync Cluster Engine — это с открытым исходным кодом реализация протокола упорядочения и членства Totem Single Ring . Первоначально он был получен из проекта OpenAIS и лицензировался по новой лицензии BSD . Миссия Corosync — разработка, выпуск и поддержка определяемого сообществом кластера с открытым исходным кодом .
Функции
[ редактировать ]Corosync Cluster Engine — это система групповой связи с дополнительными функциями для реализации высокой доступности в приложениях.
Проект предоставляет четыре функции C API :
- Модель взаимодействия закрытой группы процессов с виртуальной синхронизацией гарантирует создание реплицируемых конечных автоматов .
- Простой менеджер доступности, который перезапускает процесс приложения в случае его сбоя.
- База данных конфигурации и статистики в памяти , которая предоставляет возможность устанавливать, извлекать и получать уведомления об изменениях информации.
- Система кворума , которая уведомляет приложения о достижении или потере кворума.
Программное обеспечение предназначено для работы в сетях UDP/IP и InfiniBand .
Архитектура
[ редактировать ]Программное обеспечение состоит из исполнительного двоичного файла, который использует модель взаимодействия клиент-сервер между библиотеками и сервисными механизмами. Загружаемые модули, называемые сервисными механизмами, загружаются в Corosync Cluster Engine и используют сервисы, предоставляемые внутренним API Corosync Service Engine.
Внутренний API Corosync Service Engine предоставляет следующие услуги:
- Реализация заказа и членства в Едином кольце Тотема. [2] протокол, обеспечивающий модель расширенной виртуальной синхронизации [3] для обмена сообщениями и членства.
- Высокопроизводительная IPC-система с общей памятью coroipc . [4]
- Объектная база данных, реализующая модель базы данных в памяти .
- Системы для маршрутизации сообщений IPC и Totem в правильные сервисные механизмы.
Кроме того, Corosync предоставляет несколько сервисных механизмов по умолчанию, которые используются через C API :
- cpg — закрытая группа процессов
- Сэм — Простой менеджер доступности
- confdb — база данных конфигурации и статистики
- кворум — предоставляет уведомления о получении или потере кворума.
История
[ редактировать ]О проекте было официально объявлено в июле 2008 года в докладе на конференции Оттавского симпозиума Linux . [5] Исходный код OpenAIS был реорганизован таким образом, что основные компоненты инфраструктуры были помещены в Corosync, а API-интерфейсы SA Forum остались в OpenAIS.
Во второй версии corosync, опубликованной в 2012 году, подсистема кворума была изменена и интегрирована в демон. [6] Эта версия доступна начиная с Fedora 17 и RHEL7. [7]
Разработка ветки Flatiron (1.4.x) завершилась выпуском версии 1.4.10. [8] Ветка Needle была объявлена стабильной с выпуском 2.0.0 10 апреля 2012 года. [9] [10] Разработка этой ветки остановилась с выпуском 2.4.6 9 ноября 2022 года, поскольку ветка 3.x (Camelback) считалась стабильной после почти 4 лет работы. [9]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпуск 3.1.8» . 15 ноября 2023 г. Проверено 18 ноября 2023 г.
- ^ Амир, Ю.; Мозер, Ле; Меллиар-Смит, премьер-министр; Агарвал, Д.А.; Чиарфелла, П. (ноябрь 1995 г.). «Протокол заказа и членства в едином кольце Тотема». Транзакции ACM в компьютерных системах . 13 (4): 311–342. дои : 10.1145/210223.210224 . S2CID 15165593 .
- ^ Мозер, Ле; Амир, Ю.; Меллиар-Смит, премьер-министр; Агарвал, Д.А. (ноябрь 1995 г.). «Расширенная виртуальная синхронизация». Транзакции ACM в компьютерных системах . 13 (4): 311–342. дои : 10.1145/210223.210224 . S2CID 15165593 . Также в Proceedings of DCS , стр. 56–65, 1994 г.
- ^ Дэйк, С. (июль 2009 г.). «Высокопроизводительная многоразовая библиотека C IPC с общей памятью Corosync» (PDF) . Труды симпозиума Linux : 61–68.
- ^ Дэйк, С.; Колфилд, К.; Бикхоф, А. (июль 2008 г.). «Кластерный механизм Corosync» (PDF) . Труды симпозиума Linux : 85–99.
- ^ Кристин Колфилд, Новые функции кворума в Corosync 2 — 2012–2016 гг. (на английском языке)
- ^ Linux-кластер следующего поколения , LVEE, 2013 г.
- ^ «Релизы v1.4.10» . Гитхаб . Проверено 23 ноября 2022 г.
- ^ Jump up to: а б «Релизы v2.4.6» . Гитхаб . Проверено 23 ноября 2022 г.
- ^ «Релизы v2.0.0» . Гитхаб . Проверено 23 ноября 2022 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- «Протокол упорядочения и членства в одном кольце Тотема». CiteSeerX 10.1.1.37.767 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - «Тотем: надежный протокол упорядоченной доставки для взаимосвязанных локальных сетей». CiteSeerX 10.1.1.52.4028 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - «Расширенная модель виртуальной синхронизации». CiteSeerX 10.1.1.55.8677 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Высокопроизводительная многоразовая библиотека C IPC с общей памятью Corosync