グーグルのクラウドを支えるテクノロジー > 第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