| 開発者 | Corosync開発コミュニティ |
|---|---|
| 初回リリース | 2008年 |
| 安定版リリース | 3.1.9 [1] () / 2024年11月15日 |
| リポジトリ |
|
| 書かれた | C |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | グループコミュニケーションシステム |
| ライセンス | 新しいBSDライセンス |
| Webサイト | corosync.github.io |
Corosyncクラスタ エンジンは、 Totem シングル リング順序付けおよびメンバーシップ プロトコルのオープン ソース実装です。これはもともと OpenAIS プロジェクトから派生したもので、新しい BSD ライセンスの下でライセンスされています。Corosync の取り組みの使命は、コミュニティ定義のオープン ソースクラスタを開発、リリース、およびサポートすることです。
特徴
Corosync Cluster Engineは、アプリケーション内で高可用性を実装するための追加機能を備えたグループ通信システムです。
このプロジェクトでは、次の 4 つのC API機能が提供されます。
- 複製されたステートマシンを作成するための仮想同期保証を備えたクローズド プロセス グループ通信モデル。
- アプリケーション プロセスが失敗したときにそれを再起動するシンプルな可用性マネージャー。
- 情報の変更通知を設定、取得、受信する機能を提供する、構成および統計のインメモリ データベース。
- クォーラムが達成されたとき、または失われたときにアプリケーションに通知するクォーラムシステム。
このソフトウェアは、UDP/IPおよびInfiniBandネットワーク上で動作するように設計されています。
建築
ソフトウェアは、ライブラリとサービス エンジン間のクライアント サーバー通信モデルを使用する実行バイナリで構成されています。サービス エンジンと呼ばれるロード可能なモジュールは、Corosync クラスター エンジンにロードされ、Corosync サービス エンジンの内部 API によって提供されるサービスを使用します。
Corosync サービス エンジンの内部 API によって提供されるサービスは次のとおりです。
- メッセージングとメンバーシップのための拡張仮想同期モデル[3]を提供するトーテムシングルリングオーダーとメンバーシップ[2]プロトコルの実装。
- coroipc高性能共有メモリIPCシステム。[4]
- メモリ内データベースモデルを実装するオブジェクト データベース。
- IPC および Totem メッセージを適切なサービス エンジンにルーティングするシステム。
さらに、Corosync は C API経由で使用されるいくつかのデフォルトのサービス エンジンを提供します。
- cpg - クローズドプロセスグループ
- sam - シンプルな可用性マネージャー
- confdb - 構成と統計データベース
- 定足数 - 定足数の獲得または喪失に関する通知を提供します
歴史
このプロジェクトは、2008年7月にオタワLinuxシンポジウムの会議論文を通じて正式に発表されました。[5] OpenAISのソースコードはリファクタリングされ、コアインフラストラクチャコンポーネントはCorosyncに配置され、SAフォーラムAPIはOpenAISに保持されました。
2012年に公開されたcorosyncの2番目のバージョンでは、クォーラムサブシステムが変更され、デーモンに統合されました。[6]このバージョンは、Fedora 17およびRHEL7以降で利用可能です。[7]
Flatironブランチ(1.4.x)の開発は1.4.10リリースで終了しました。[8] Needleブランチは2012年4月10日の2.0.0リリースで安定していると発表されました。 [9] [10]このブランチの開発は2022年11月9日の2.4.6リリースで停止しました。これは、3.xブランチ(Camelback)がほぼ4年間の作業を経て安定していると判断されたためです。[9]
参照
参考文献
- ^ 「リリース 3.1.9」。2024年11月15日。 2024年11月22日閲覧。
- ^ Amir, Y .; Moser, LE; Melliar-Smith, PM; Agarwal, DA; Ciarfella, P. (1995 年 11 月)。「トーテムシングルリング順序付けおよびメンバーシッププロトコル」。ACM Transactions on Computer Systems。13 ( 4): 311–342。doi : 10.1145 /210223.210224。S2CID 15165593 。
- ^ Moser , LE; Amir , Y.; Melliar-Smith, PM; Agarwal, DA (1995 年 11 月)。「Extended Virtual Synchrony」。ACM Transactions on Computer Systems。13 ( 4): 311–342。doi : 10.1145 /210223.210224。S2CID 15165593。また、1994年のDCS Proceedings 、pp. 56-65にも掲載されています。
- ^ Dake, S. (2009 年 7 月). 「Corosync 高性能共有メモリ IPC 再利用可能 C ライブラリ」(PDF) . Linux シンポジウム議事録: 61–68。
- ^ Dake, S.; Caulfield, C.; Beekhof, A. (2008 年 7 月). 「Corosync クラスター エンジン」(PDF) . Linux シンポジウム議事録: 85–99.
- ^ Christine Caulfield、Corosync 2 の新しいクォーラム機能 - 2012-2016 (英語)
- ^ Linux Cluster 次世代、LVEE、2013
- ^ 「リリース v1.4.10」。GitHub 。 2022年11月23日閲覧。
- ^ ab “Releases v2.4.6”. GitHub . 2022年11月23日閲覧。
- ^ 「リリース v2.0.0」。GitHub 。 2022年11月23日閲覧。
外部リンク
- 公式サイト
- 「 トーテムシングルリング順序付けおよびメンバーシッププロトコル」。CiteSeerX 10.1.1.37.767。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - 「 Totem: 相互接続されたローカル エリア ネットワーク向けの信頼性の高い順序付き配信プロトコル」。CiteSeerX 10.1.1.52.4028。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - 「拡張仮想同期モデル」。CiteSeerX 10.1.1.55.8677 。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - Corosync 高性能共有メモリ IPC 再利用可能な C ライブラリ
