Corosync Cluster Engine
From Wikipedia, the free encyclopedia
| Développé par | The Corosync Development Community |
|---|---|
| Première version | |
| Dernière version | 3.0.2[1] () |
| Dépôt | github.com/corosync/corosync |
| Écrit en | C |
| Environnement | Logiciel multiplate-forme |
| Type | Système de communication en groupe |
| Licence | Licence BSD modifiée |
| Site web | corosync.github.io/corosync/ |
Corosync Cluster Engine est un projet de logiciel Open source dérivé de l'OpenAIS[2] project et sous licence Licence BSD modifiée. La mission de Corosync est de développer et de maintenir un cluster open source défini par la communauté.
Corosync Cluster Engine est un système de communication de groupe avec des fonctionnalités supplémentaires pour la mise en œuvre de la Haute disponibilité dans les applications.
Corosync Cluster Engine fournit 4 fonctionnalités sous forme d'API écrites en C :
- un groupe restreint de processus avec une garantie de synchronisation virtuelle afin de créer des machines à états répliquées ;
- un simple gestionnaire de disponibilité qui redémarre les processus d'application lorsqu'ils ont échoué ;
- une configuration et des statistiques stockées en base de données dans la mémoire vive permet de définir, de récupérer et de recevoir des notifications concernant les changements d'état ;
- un système de notification qui se déclenche lorsqu'un quorum est atteint ou perdu.
Le logiciel est conçu pour fonctionner sur des réseaux UDP et InfiniBand.
Architecture
Le logiciel est composé d'un binaire qui utilise un modèle de communication client-serveur entre les bibliothèques et les moteurs de service. Les modules chargés, appelés moteurs de service, sont chargés dans le moteur de cluster Corosync et utilisent les services fournis par l'API interne de Corosync Service Engine.
Les services fournis par l'API interne de Corosync Service Engine sont :
- une implémentation du protocole Totem Single Ring Ordering and Membership fournissant le modèle Extended Virtual Synchrony pour la messagerie et l'adhésion ;
- le système coroipc haute performance à mémoire partagée IPC ;
- une base de données orientée objet qui implémente le modèle de base de données en mémoire ;
- un système pour acheminer les messages IPC et Totem vers les moteurs de service correctes.
Corosync Cluster Engine fournit plusieurs moteurs de service par défaut qui sont utilisés via les API :
- cpg - (Closed Process Group) un groupe restreint de processus ;
- sam - (Simple Availability Manager) un gestionnaire de disponibilité ;
- confdb - (Configuration and Statistics database) une configuration et des statistiques sous forme de base de données ;
- quorum - fournit des notifications de gain ou de perte du quorum.