Corosync Cluster Engine
Utvecklare | Corosync Development Community |
---|---|
Initial release | 2008 |
Stabil frisättning | |
Förvar | |
Skrivet i | C |
Operativ system | Cross-plattform |
Typ | Gruppkommunikationssystem |
Licens | Ny BSD-licens |
Hemsida |
Corosync Cluster Engine är en öppen källkodsimplementering av Totem Single Ring Ordering and Membership-protokollet. Det härrörde ursprungligen från OpenAIS-projektet och licensierade under den nya BSD-licensen . Uppdraget med Corosync-satsningen är att utveckla, släppa och stödja ett community-definierat, öppen källkodskluster .
Funktioner
Corosync Cluster Engine är ett gruppkommunikationssystem med ytterligare funktioner för att implementera hög tillgänglighet inom applikationer.
Projektet tillhandahåller fyra C API- funktioner:
- En sluten processgruppskommunikationsmodell med virtuella synkroniseringsgarantier för att skapa replikerade tillståndsmaskiner .
- En enkel tillgänglighetshanterare som startar om ansökningsprocessen när den har misslyckats.
- En databas för konfiguration och statistik i minnet som ger möjlighet att ställa in, hämta och ta emot ändringsmeddelanden om information.
- Ett beslutförhetssystem som meddelar ansökningar när beslutförhet uppnås eller förloras.
Programvaran är designad för att fungera på UDP/IP- och InfiniBand- nätverk.
Arkitektur
Mjukvaran är sammansatt av en exekutiv binär som använder en klient-server kommunikationsmodell mellan bibliotek och servicemotorer. Laddbara moduler, kallade servicemotorer, laddas in i Corosync Cluster Engine och använder tjänsterna som tillhandahålls av Corosync Service Engines interna API.
Tjänsterna som tillhandahålls av Corosync Service Engines interna API är:
- En implementering av Totem Single Ring Ordering and Membership-protokollet som tillhandahåller Extended Virtual Synchrony-modellen för meddelanden och medlemskap.
- Coroipc högpresterande IPC-system för delat minne .
- En objektdatabas som implementerar databasmodellen i minnet .
- System för att dirigera IPC- och Totem-meddelanden till rätt servicemotorer.
Dessutom tillhandahåller Corosync flera standardservicemotorer som används via C API :er :
- cpg - Sluten processgrupp
- sam - Simple Availability Manager
- confdb - Databas för konfiguration och statistik
- beslutförhet - Ger meddelanden om vinst eller förlust av beslutförhet
Historia
Projektet tillkännagavs formellt i juli 2008 via ett konferensbidrag vid Ottawa Linux Symposium . Källkoden för OpenAIS omstrukturerades så att kärninfrastrukturkomponenterna placerades i Corosync och SA Forum API:er behölls i OpenAIS.
I den andra versionen av corosync, publicerad 2012, ändrades kvorumundersystemet och integrerades i demonen. Denna version är tillgänglig sedan Fedora 17 och RHEL7.
Flatiron branch (1.4.x) utveckling avslutades med 1.4.10 release. Needle branch meddelades stabil med 2.0.0-släpp den 10 april 2012. Utvecklingen av denna gren stoppades med 2.4.6-release den 9 november 2022, eftersom 3.x-gren (Camelback) ansågs vara stabil efter nästan 4 års arbete.
Se även
externa länkar
- Officiell hemsida
-
"Totem Single-Ring Ordering and Membership Protocol". CiteSeerX 10.1.1.37.767 .
{{ citera journal }}
: Citera journal kräver|journal=
( hjälp ) -
"Totem: Ett tillförlitligt beställt leveransprotokoll för sammankopplade lokala nätverk". CiteSeerX 10.1.1.52.4028 .
{{ citera journal }}
: Citera journal kräver|journal=
( hjälp ) -
"Utökad Virtual Synchrony-modell". CiteSeerX 10.1.1.55.8677 .
{{ citera journal }}
: Citera journal kräver|journal=
( hjälp ) - Corosync högpresterande delat minne IPC återanvändbart C-bibliotek