menu
arrow_back

Kubernetes Engine で Memcached をデプロイする

Kubernetes Engine で Memcached をデプロイする

1時間 30分 クレジット: 7

GSP116

Google Cloud セルフペース ラボ

概要

このラボでは、KubernetesHelmMcrouter を使用して、Kubernetes Engine で分散型 Memcached サーバーのクラスタをデプロイする方法を学びます。Memcached は、最もよく使用されているオープンソースの多目的キャッシング システムのひとつです。通常は、ウェブ アプリケーションの処理速度を高めてデータベースの負荷を軽減するために、使用頻度の高いデータの一時的な保管場所として機能します。

目標

  • Memcached の分散型アーキテクチャの特徴について学習します。

  • Kubernetes と Helm を使用して、Memcached サービスを Kubernetes Engine にデプロイします。

  • オープンソースの Memcached プロキシである Mcrouter をデプロイし、システムのパフォーマンスを向上させます。

Memcached の特徴

Memcached には、2 つの主な設計目標があります。

  • シンプル: Memcached は大きなハッシュ テーブルのように機能し、キーを使用して任意の形式のオブジェクトを格納して取り出すシンプルな API を提供する。
  • 速度: Memcached はキャッシュ データをランダムアクセス メモリ(RAM)にのみ保持して、きわめて高速なデータアクセスを実現する。

Memcached は、ハッシュ テーブルの容量をサーバープール全体で水平スケーリングできるようにする分散型システムです。Memcached の各サーバーは、プール内の他のサーバーとは完全に独立して動作します。したがって、クライアント レベルでサーバー間のルーティングと負荷分散を行う必要があります。Memcached クライアントではコンシステント ハッシュ スキームが適用され、ターゲット サーバーが適切に選択されます。このスキームでは、次の条件が保証されます。

  • 同じキーに対して常に同じサーバーが選択されます。
  • サーバー間のメモリ使用量が均等に分散されます。
  • サーバープールが縮小または拡大されるとき、最小数のキーが再配置されます。

次の図は、Memcached クライアントと分散された Memcached サーバープールとの間のやり取りを大まかに示しています。

9d07fd93216f5780.png

Qwiklabs に参加してこのラボの残りの部分や他のラボを確認しましょう。

  • Google Cloud Console への一時的なアクセス権を取得します。
  • 初心者レベルから上級者レベルまで 200 を超えるラボが用意されています。
  • ご自分のペースで学習できるように詳細に分割されています。
参加してこのラボを開始