repcachedの紹介

memcachedパネルディスカッション
∼repcachedの紹介∼
Internet Week 2008
Copyright © 2008 KLab Inc. All rights reserved.
repcachedの紹介
z
z
z
z
z
repcachedとは
開発のコンセプト
repcachedの使い方
運用形態の違いについて
z memcachedの運用形態
z repcachedの運用形態
まとめ
Copyright © 2008 KLab Inc. All rights reserved.
KLab 株式会社
安井 真伸
repcachedとは
z
z
memcachedにレプリケーション機能を追加
memcachedのパッチとして公開しています
z
http://lab.klab.org/wiki/Repcached
memcached
memcached
rep
set,add,inc,dec,,,
Client
Copyright © 2008 KLab Inc. All rights reserved.
repcachedのコンセプト
z
なんと言っても安全第一
z
z
memcachedから簡単に移行できること
z
z
「不安定になった」なんて言われないように
memcached単体としても利用可能
memcachedの利点を潰さないこと
z
z
レプの設定はできる限り簡単にする
レプがボトルネックにならない設計にする
Copyright © 2008 KLab Inc. All rights reserved.
repcachedの使い方
1台目のマシンは普通に起動
foo$ memcached -v
replication: listen
2台目のマシンは -x オプションを指定
bar$ memcached -x foo -v
replication: connect (peer=10.10.2.28:11212)
replication: marugoto copying
replication: start
Copyright © 2008 KLab Inc. All rights reserved.
repcachedの使い方
z
memcachedからrepcachedへ移行するには
1.memcachedをrepcachedに差し替える
z 起動スクリプトなどはそのままでOK
z バイナリを差し替えて再起動するだけ
2.もう1台サーバを用意する
3.-x オプションをつけて起動する
Copyright © 2008 KLab Inc. All rights reserved.
運用形態の違いについて
Copyright © 2008 KLab Inc. All rights reserved.
memcachedの運用形態
KEY1
KEY2
KEY3
KEY4
KEY5
KEY6
KEY7
KEY8
KEY9
KEY10
KEY11
KEY12
memcached
1台のサーバへすべてのデータを格納
Memcachedクライアント
(Webサーバなど)
Copyright © 2008 KLab Inc. All rights reserved.
memcachedの運用形態
KEY1
KEY2
KEY3
KEY4
KEY5
KEY6
KEY7
KEY8
KEY9
KEY10
KEY11
KEY12
コワレタ
memcached
すべてのデータを喪失
Memcachedクライアント
(Webサーバなど)
Copyright © 2008 KLab Inc. All rights reserved.
memcachedの運用形態
KEY1
KEY2
KEY3
KEY4
KEY5
KEY6
KEY7
KEY8
KEY9
KEY10
KEY11
KEY12
memcached
memcached
2台のサーバへ分散してデータを格納
Memcachedクライアント
(Webサーバなど)
Copyright © 2008 KLab Inc. All rights reserved.
memcachedの運用形態
KEY1
KEY2
KEY3
KEY4
KEY5
KEY6
KEY7
KEY8
KEY9
KEY10
KEY11
KEY12
コワレタ
memcached
memcached
1/2のデータを喪失
Memcachedクライアント
(Webサーバなど)
Copyright © 2008 KLab Inc. All rights reserved.
memcachedの運用形態
KEY1
memcached
KEY5
memcached
KEY9
memcached
KEY2
memcached
KEY6
memcached
KEY10
memcached
KEY3
memcached
KEY7
memcached
KEY11
memcached
KEY4
memcached
KEY8
memcached
KEY12
memcached
12台のサーバへ分散してデータを格納
Memcachedクライアント
(Webサーバなど)
Copyright © 2008 KLab Inc. All rights reserved.
memcachedの運用形態
KEY1
memcached
KEY5
memcached
KEY9
memcached
KEY2
memcached
KEY6
memcached
KEY10
memcached
KEY3
memcached
KEY4
memcached
KEY7
memcached
KEY11
memcached
KEY8
memcached
KEY12
コワレタ
memcached
1/12のデータを喪失
Memcachedクライアント
(Webサーバなど)
Copyright © 2008 KLab Inc. All rights reserved.
台数を増やすことでデータ損失率を
少なくすることができます
Copyright © 2008 KLab Inc. All rights reserved.
そんなにいっぱい立てられない(><)
Copyright © 2008 KLab Inc. All rights reserved.
memcachedは1台でも十分速いです
Copyright © 2008 KLab Inc. All rights reserved.
そんなあなたにrepcached
Copyright © 2008 KLab Inc. All rights reserved.
repcachedの運用形態
KEY3
KEY4
KEY7
KEY1
KEY2
KEY5
KEY8
KEY11
KEY12
KEY6
KEY9
KEY10
KEY1
KEY2
KEY5
KEY3
KEY4
KEY7
KEY6
KEY9
KEY10
KEY8
KEY11
KEY12
repcached
repcached
2台のサーバへ分散してデータを格納
Memcachedクライアント
(Webサーバなど)
Copyright © 2008 KLab Inc. All rights reserved.
repcachedの運用形態
KEY3
KEY4
KEY7
KEY1
KEY2
KEY5
KEY8
KEY11
KEY12
KEY6
KEY9
KEY10
コワレタ
KEY1
KEY2
KEY5
KEY3
KEY4
KEY7
KEY6
KEY9
KEY10
KEY8
KEY11
KEY12
repcached
repcached
データを喪失しない
Memcachedクライアント
(Webサーバなど)
Copyright © 2008 KLab Inc. All rights reserved.
まとめ
z
repcachedを有効活用できるケース
z
z
z
1台のmemcachedで性能、容量が十分な場合
サーバを1台増やす事ができる場合
repcachedの課題・問題点
z
z
3台以上の構成を組むことができない
マルチスレッド機能を有効にできない
Copyright © 2008 KLab Inc. All rights reserved.
もしよろしければご利用下さい
Copyright © 2008 KLab Inc. All rights reserved.
ご静聴ありがとうございました
Copyright © 2008 KLab Inc. All rights reserved.