Corosync
| Corosync | |
|---|---|
| Тип | Система группового общения для отказоустойчивых кластеров |
| Разработчик | The Corosync Development Community |
| Написана на | Си |
| Операционная система | Кроссплатформенное программное обеспечение |
| Дата выпуска | январь 2008[1] |
| Последняя версия | 3.1.6[2] (15 ноября 2021) |
| Репозиторий | github.com/corosync/coro… |
| Лицензия | "модифицированная" BSD |
| Сайт | corosync.github.io/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)[3], обеспечивающего расширенную модель виртуальной синхронизации[англ.][4] сообщений.
- Coroipc — высокопроизводительная система межпроцессного взаимодействия через разделяемую память.[5]
- Объектная база данных, реализуемая через хранение в оперативной памяти (англ. in-memory database).
- Системы маршрутизации сетевых и межпроцессных сообщений через сервисные инструменты.
История
Проект был анонсирован в июле 2008 года на конференции Linux Symposium[англ.] в Оттаве[1]. Исходный код проекта OpenAIS был реорганизован так, что инфраструктурные компоненты были помещены в Corosync, а API SA Forum[англ.] остался в OpenAIS.
Во второй версии corosync (2012) изменена система кворума, ставшая составной частью демона[6], и отключена поддержка сторонних дополнений. Corosync 2 доступен с Fedora 17 и RHEL 7[7].
Примечания
- ↑ 1 2 Dake, S.; Caulfield, C.; Beekhof, A. The Corosync Cluster Engine // Proceedings of the Linux Symposium. — 2008. — Июль. — С. 85—99. Архивировано 24 сентября 2016 года.
- ↑ Releases. Дата обращения: 23 сентября 2016. Архивировано 15 сентября 2020 года.
- ↑ Amir, Y.; Moser, L.E.; Melliar-Smith, P.M.; Agarwal, D.A.; Ciarfella, P. The Totem Single Ring Ordering and Membership Protocol (англ.) // ACM Transactions on Computer Systems[англ.] : journal. — 1995. — November (vol. 13, no. 4). — P. 311—342. — doi:10.1145/210223.210224. Архивировано 29 апреля 2022 года.
- ↑ Moser, L.E.; Amir, Y.; Melliar-Smith, P.M.; Agarwal, D.A. Extended Virtual Synchrony // Proceedings of the IEEE 14th International Conference on Distributed Computing Systems. — 1994. — С. 56—65.
- ↑ Dake, S. The Corosync High Performance Shared Memory IPC Reusable C Library (англ.) // Proceedings of the Linux Symposium : journal. — 2009. — July. — P. 61—68. Архивировано 3 марта 2016 года.
- ↑ Christine Caulfield,New quorum features in Corosync 2 Архивная копия от 2 января 2017 на Wayback Machine - 2012-2016 (англ.)
- ↑ Linux Cluster next generation Архивная копия от 1 января 2017 на Wayback Machine, LVEE, 2013
Ссылки
- corosync.github.io/corosync/ — официальный сайт Corosync
- Andrew Beekhof, Pacemaker 1.1 Clusters from Scratch Архивная копия от 24 сентября 2016 на Wayback Machine, 2009-2015
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.