はじめに
みなさん、こんにちは! グーグルで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アプリケーションシステムの構成例です。
この続きは以下をご覧ください
(リンク »)
お問い合わせにつきましては発表元企業までお願いいたします。