Interested Article - Corosync

Corosync (Corosync Cluster Engine) — проект с открытым исходным кодом , реализующий систему группового общения для отказоустойчивых кластеров . Является развитием проекта OpenAIS и опубликован в соответствии с модифицированной лицензией BSD .

Особенности

Проект предоставляет четыре набора API для языка Си :

  • «Закрытая группа процессов» ( англ. Closed Process Group — CPG) — модель взаимодействия, реализующая , которая гарантирует, что процессы на узлах кластера получат одинаковые сообщения в одинаковом порядке.
  • «Простой менеджер доступности» ( англ. Simple Availability Manager — SAM), отслеживающий состояния приложений и позволяющий их перезапускать после сбоя.
  • « База данных конфигурации» ( англ. Configuration database — confdb) в оперативной памяти, позволяющая получать конфигурацию и статистику Corosync, менять конфигурацию и получать уведомления об её изменениях.
  • « » ( англ. quorum) — система, оповещающая приложения о том, достигнут кворум (необходимое минимальное количество активных узлов кластера) или нет.

Программное обеспечение предназначено для работы в сетях UDP/IP и InfiniBand .

Архитектура

Программное обеспечение создано как исполняемые бинарные файлы, использующие клиент-серверную модель взаимодействия между библиотеками и сервисными инструментами. Модули, называемые сервисными инструментами, загружаются в Corosync и используют сервисы, предоставляемые внутренним API Corosync.

Сервисы, предоставляемые внутренним API Corosync:

  • Реализация протокола «Упорядочивание и членство в одиночном кольце связи» ( англ. Totem Single Ring Ordering and Membership) , обеспечивающего расширенную модель сообщений.
  • Coroipc — высокопроизводительная система межпроцессного взаимодействия через разделяемую память .
  • Объектная база данных , реализуемая через хранение в оперативной памяти ( англ. in-memory database).
  • Системы маршрутизации сетевых и межпроцессных сообщений через сервисные инструменты.

История

Проект был анонсирован в июле 2008 года на конференции в Оттаве . Исходный код проекта OpenAIS был реорганизован так, что инфраструктурные компоненты были помещены в Corosync, а API остался в OpenAIS.

Во второй версии corosync (2012) изменена система кворума, ставшая составной частью демона , и отключена поддержка сторонних дополнений. Corosync 2 доступен с Fedora 17 и RHEL 7 .

Примечания

  1. Dake, S.; Caulfield, C.; Beekhof, A. (неопр.) // Proceedings of the Linux Symposium. — 2008. — July. — С. 85—99 . 24 сентября 2016 года.
  2. (неопр.) . Дата обращения: 23 сентября 2016. 15 сентября 2020 года.
  3. Amir, Y.; Moser, L.E.; Melliar-Smith, P.M.; Agarwal, D.A.; Ciarfella, P. (англ.) // (англ.) (: journal. — 1995. — November (vol. 13 , no. 4). — P. 311—342 . — doi : . 29 апреля 2022 года.
  4. Moser, L.E.; Amir, Y.; Melliar-Smith, P.M.; Agarwal, D.A. (неопр.) // Proceedings of the IEEE 14th International Conference on Distributed Computing Systems. — 1994. — С. 56—65 .
  5. Dake, S. (англ.) // Proceedings of the Linux Symposium : journal. — 2009. — July. — P. 61—68 . 3 марта 2016 года.
  6. Christine Caulfield, от 2 января 2017 на Wayback Machine - 2012-2016 (англ.)
  7. от 1 января 2017 на Wayback Machine , LVEE, 2013

Ссылки

  • — официальный сайт Corosync
  • Andrew Beekhof, от 24 сентября 2016 на Wayback Machine , 2009-2015

Same as Corosync