クラスタリングのアーキテクチャ
GitHub Enterprise Serverは、一連のサービスから構成されています。 クラスタでは、これらのサービスは複数のノードにまたがって動作し、リクエストはそれらのノード間でロードバランスされます。 変更は、冗長なコピーと共に個別のノードに自動的に保存されます。 ほとんどのサービスは、同じサービスの他のインスタンスと同等のピア群です。 ただしmysql-server
とredis-server
サービスは例外です。 これらは1つのプライマリノードと、1つ以上のレプリカノード上で動作します。
クラスタリングに必要なサービスの詳細をご覧ください。
クラスタリングは組織に適切か?
クラスタリングは、負荷を複数のノードに分配することによってスケーラビリティを向上させます。 この水平スケーリングは、数万の開発者を持つような組織に適しているかもしれません。とはいえ、冗長性のあるスケーラブルなクラスタのセットアップは複雑であり、かつ、注意深い計画が必要です。 この追加の複雑さによって、インストール、システム災害復旧およびアップグレードについて計画することが必要となります。
GitHub Enterprise Server ではノード間のレイテンシが低いことが必要であり、地理的に離れた場所にまたがる冗長性を意図したものではありません。
クラスタリングは冗長性を提供しますが、High Availability構成を置き換えることを意図したものではありません。 詳細は「High Availability 構成」を参照してください。 プライマリ/セカンダリフェイルオーバー設定はクラスタリングよりもはるかにシンプルであり、多くの組織の要求に応えます。 詳しくはクラスタリングと高可用性との違いを参照してください。
クラスタリングを利用するには?
クラスタリングは特定のスケーリングの状況のために設計されており、すべての組織を対象としたものではありません。 クラスタリングをご検討される場合は、専任の担当者または GitHubの営業チーム にお問い合わせください。