グーグルのクラウドを支えるテクノロジー > 第1回 分散型ロードバランサーを実現するMaglev(パート1)
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
CTC教育サービスはコラム「グーグルのクラウドを支えるテクノロジー > 第1回 分散型ロードバランサーを実現するMaglev(パート1) 」を公開しました。
はじめに
みなさん、こんにちは! グーグルでCloud Solutions Architectとして活動させていただいている中井です。グーグルは古くから、自社サービスの提供に独自のソフトウェア技術を活用してきました。これらの技術の中には、グーグルに所属する研究者の手によって開発されたものもありますが、実は、「Research at Google」というWebサイトでは、これらの研究者が執筆した論文が公開されています。つまり、これらの論文を通して、グーグルの技術が勉強できてしまいます。これはスゴイ!
―― とは言うものの、いきなり論文を読めといわれても、敷居が高くて困ってしまうのも事実です。そこで、この連載では、これらの論文の内容をやさしく解説しながら、「地球規模」とも言われるインフラを支えるために開発された技術を紹介していきます。前提知識から説明を進めていきますので、インフラ技術を基礎から勉強し直したい方にも役立つものと思います。現在、グーグルが提供するクラウドサービスである「GCP(Google Cloud Platform)」でも、グーグルのインフラ技術が活用されています。本連載を通して、大規模分散処理の仕組みを理解すれば、GCPをより深く使いこなすこともできるでしょう。
記念すべき最初のテーマは、「ロードバランサー」です。2016年に公開された論文「Maglev: A Fast and Reliable Software Network Load Balancer」では、一千台以上のバックエンドサーバーにパケットを分散するために開発された、「Maglev」という分散処理方式のロードバランサーが紹介されています。今回は、Maglevの仕組みを理解する前提として、一般的なロードバランサーのアーキテクチャーと、ロードバランサーの処理を分散化するためのポイントとなる技術要素を押さえておきたいと思います。
スケーラブルなWebアプリケーションシステムの構造
多数のクライアントからのアクセスを複数のサーバーに振り分けるロードバランサーの役割は、みなさんご存知のことと思います。しかしながら、全世界からアクセスされる「地球規模」のアプリケーションとなると、アクセスを分散するにも複数の段階があります。図1は、2箇所のデータセンターに配置された、典型的なWebアプリケーションシステムの構成例です。
この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/nakai2/nakai201.html
ソーシャルもやってます!