Silnik klastra Corosync

Silnik klastra Corosync
Deweloperzy Społeczność programistów Corosync
Pierwsze wydanie 2008 ; 15 lat temu ( 2008 )
Wersja stabilna
Edit this on Wikidata 3.1.7 (Camelback) / 15 listopada 2022 r
Magazyn
Napisane w C
System operacyjny Międzyplatformowe
Typ System komunikacji grupowej
Licencja Nowa licencja BSD
Strona internetowa corosync .github .io /corosync /

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