Silnik klastra Corosync
Deweloperzy | Społeczność programistów Corosync |
---|---|
Pierwsze wydanie | 2008 |
Wersja stabilna | |
Magazyn | |
Napisane w | C |
System operacyjny | Międzyplatformowe |
Typ | System komunikacji grupowej |
Licencja | Nowa licencja BSD |
Strona internetowa |
Corosync Cluster Engine to implementacja typu open source protokołu Totem Single Ring Ordering and Membership. Pierwotnie wywodzi się z projektu OpenAIS i jest licencjonowany na podstawie nowej licencji BSD . Misją wysiłków Corosync jest rozwijanie, udostępnianie i wspieranie zdefiniowanego przez społeczność klastra open source .
Cechy
Corosync Cluster Engine to system komunikacji grupowej z dodatkowymi funkcjami do wdrażania wysokiej dostępności w aplikacjach.
Projekt udostępnia cztery funkcje C API :
- Model komunikacji zamkniętej grupy procesów z gwarancjami wirtualnej synchronizacji do tworzenia replikowanych maszyn stanowych .
- Prosty menedżer dostępności, który ponownie uruchamia proces aplikacji, gdy się nie powiedzie.
- konfiguracji i statystyk w pamięci , która umożliwia ustawianie, pobieranie i odbieranie powiadomień o zmianach informacji.
- System kworum , który powiadamia aplikacje o osiągnięciu lub utracie kworum.
Oprogramowanie przeznaczone jest do pracy w sieciach UDP/IP oraz InfiniBand .
Architektura
Oprogramowanie składa się z wykonawczego pliku binarnego, który wykorzystuje model komunikacji klient-serwer między bibliotekami i silnikami usług. Ładowalne moduły, zwane silnikami serwisowymi, są ładowane do Corosync Cluster Engine i korzystają z usług dostarczanych przez wewnętrzny interfejs API Corosync Service Engine.
Usługi świadczone przez wewnętrzny interfejs API Corosync Service Engine to:
- Implementacja protokołu Totem Single Ring Ordering and Membership zapewniająca model Extended Virtual Synchrony do przesyłania wiadomości i członkostwa.
- Wysokowydajny system IPC z pamięcią współdzieloną coroipc .
- Obiektowa baza danych, która implementuje model bazy danych w pamięci .
- Systemy do kierowania komunikatów IPC i Totem do właściwych silników serwisowych.
Dodatkowo Corosync zapewnia kilka domyślnych silników usług, które są używane za pośrednictwem interfejsów API C :
- cpg — zamknięta grupa procesów
- sam - Prosty menedżer dostępności
- confdb - Baza danych konfiguracji i statystyk
- kworum — dostarcza powiadomienia o zdobyciu lub utracie kworum
Historia
Projekt został oficjalnie ogłoszony w lipcu 2008 r. w referacie konferencyjnym na Ottawa Linux Symposium . Kod źródłowy OpenAIS został zrefaktoryzowany w taki sposób, że podstawowe komponenty infrastruktury zostały umieszczone w Corosync, a interfejsy API SA Forum były przechowywane w OpenAIS.
W drugiej wersji corosync, opublikowanej w 2012 roku, podsystem kworum został zmieniony i zintegrowany z demonem. Ta wersja jest dostępna od Fedory 17 i RHEL7.
Rozwój gałęzi Flatiron (1.4.x) zakończył się wydaniem 1.4.10. Gałąź Needle została ogłoszona stabilną wraz z wydaniem 2.0.0 10 kwietnia 2012 r. Rozwój tej gałęzi został zatrzymany wraz z wydaniem 2.4.6 9 listopada 2022 r., Ponieważ gałąź 3.x (Camelback) została uznana za stabilną po prawie 4 latach pracy.
Zobacz też
Linki zewnętrzne
- Oficjalna strona internetowa
-
„Protokół zamawiania i członkostwa w pojedynczym pierścieniu Totemu” . CiteSeerX 10.1.1.37.767 .
{{ cite journal }}
: Cite journal wymaga|journal=
( pomoc ) -
„Totem: niezawodny protokół dostarczania zamówionego dla połączonych sieci lokalnych” . CiteSeerX 10.1.1.52.4028 .
{{ cite journal }}
: Cite journal wymaga|journal=
( pomoc ) -
„Rozszerzony model wirtualnej synchronizacji” . CiteSeerX 10.1.1.55.8677 .
{{ cite journal }}
: Cite journal wymaga|journal=
( pomoc ) - Corosync High Performance Shared Memory IPC Biblioteka C wielokrotnego użytku