Clustering with Bitbucket Data Center
Bitbucket Data Center は、高可用性と大規模なパフォーマンスが必要な大企業向けの、オンプレミスの Git リポジトリ管理ソリューションです。
Bitbucket Data Center では、Bitbucket Server のクラスタを使用し、データ センターに Bitbucket をホストする場合を考慮して、エンタープライズの拡張およびインフラストラクチャの柔軟性を考慮して設計されています。これは、エンタープライズ チームに以下の機能を提供します(各トピックの詳細についてはリンクに従ってください)。
- クラスタリング: (高帯域幅、低ネットワーク遅延で接続された)複数ノードのクラスタ上で Bitbucket を実行し、拡張可能な容量、パフォーマンス、高可用性を提供することができます。
- 大規模なパフォーマンス: それぞれ Bitbucket Server を実行している多数のマシンのクラスタによって、単一マシンの場合よりも多くの負荷を処理することができます。
- 高可用性とフェイルオーバー: 1つのクラスタ ノードがダウンした場合、ユーザーが可用性の低下をほとんど、またはまったく意識することがないように、残りのクラスタ ノードがリクエストへのサービス提供を継続します。
- 即時に実現可能な拡張性: ダウンタイムなしで、迅速に追加の容量をプロビジョニングできます。
- スマート ミラーリング; 地理的に分散した場所にローカル ミラー ノードを提供し、リモート チームへの Git クローンおよびフェッチを高速化することができます。
- レート制限 (Bitbucket Data Center 6.6 から利用可能)。Bitbucket によるシステム保護機能。自動化およびスクリプトが作成可能な HTTP リクエスト (例: REST API リクエスト) 数、およびその頻度などを制御して、インスタンスの安定性を維持できるようサポートします。
アーキテクチャの概要
Bitbucket Data Center は、以下のように接続された専用マシンのクラスタで構成されます。
ロードバランサー
ロード バランサは、クラスタ ノードに対するユーザーからのリクエストを分散します。あるクラスタ ノードがダウンした場合、ロード バランサはすぐに故障を検出し、数秒以内に他のノードにリクエストを自動的に振り向けます。
アプリケーション ノード
Bitbucket ノードのクラスタは、着信するリクエストの負荷を共有します。1 つのクラスタノードで障害が起きても、リクエストはすぐに他のノードに振り向けられるため、ユーザーが可用性を失うことは事実上ありません。
Elasticsearch ノード
Elasticsearch provides search functionality for Bitbucket Server. It provides a fast, full-text search engine that enables searching for projects, repositories, and code within Bitbucket Server.
共有データベースとストレージ
Bitbucket Data Center は Bitbucket Server と同じデータベース(MySQL 以外)をサポートしています。NFS でアクセスできる、パフォーマンスの高い共有ファイルシステムには、リポジトリ、添付ファイル、アバター データが保存されます。
Bitbucket Data Center を使い始める
Bitbucket Data Center ライセンスを購入、または、評価ライセンスを入手します。
Bitbucket Data Center のセットアップに関する詳細については、「Bitbucket Data Center のインストール」を参照してください。
Bitbucket Data Center FAQ では、Bitbucket Data Center の使用を開始する際に抱く疑問についての回答を提供しています。