グーグルのクラウドを支えるテクノロジー > 第102回 Googleの分散ビルドシステムのアーキテクチャー(パート2)
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
CTC教育サービスはコラム「グーグルのクラウドを支えるテクノロジー > 第102回 Googleの分散ビルドシステムのアーキテクチャー(パート2)」を公開しました。
###
はじめに
前回に続いて、2020年に公開された論文「Scalable Build Service System with Smart Scheduling Service(PDF)」を紹介します。この論文では、Google社内で利用されている「分散ビルドシステム」のアーキテクチャーが解説されています。今回は、このシステムの具体的なアーキテクチャーを説明します。
アーキテクチャーの全体像
Google社内の分散ビルドシステムは、その名前の通り、独立したいくつかのシステムが連携する分散型のアーキテクチャーになっています。主要なサービスは、図1のようにまとめられます。
まずは、開発者がクライアント(Client)を用いて、スケジューリングサービス(Scheduling Service)にビルドリクエストを送信するところから処理がはじまります。リクエストを受け付けたスケジューリングサービスは、ユニークな「ビルドID」を割り当てて、クライアントに返送します。実際のビルド処理は、その背後にあるBazel WorkerとExcecutor Clusterによって非同期に行われますが、ビルドの進捗状況は、イベントサービス(Event Service)に記録されます。クライアントは、ビルドIDを用いて、該当のビルドの実行状態をイベントサービスから取得することができます。
この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai2102.html
ソーシャルもやってます!