Redis & Resque株式会社ドリコム川上知成
自己紹介所属 株式会社ドリコム@tomofusa社内呼称:カリスマ(期間限定)やってること現在:ソーシャルゲーム開発・運用以前:広告配信サービス解析・最適化(rubyとかhadoopとかjavaとか)
最近
とあるRailsDevConfで
頭バーン ってなってたひと@onk
を発表
KVSとしてRedisを利用
TLをみて注目度高い!?
Redis&Resqueについて
ところで、atndをみてみると!?
被った!(´(ェ)`)
Redis&Resqueについて
ソーシャルアプリ≒ブラウザゲーム携帯・PC・SmartPhoneなど
システム構成mysql 5.1.xredis1.2.6(2.0.4)ruby1.8.7rails3.0.0.beta4unicorn 3.0.0nginx 0.6.32
gemredis (2.1.1)redis-namespace (0.8.0)resque (1.9.5)resque-scheduler (1.9.2)
Redisについて念のため簡単な説明cで実装された memcacheライクなKVS。ただし、メモリ上のデータを永続化永続性データリスト,セットアトミックな操作はやい <Redis is pretty fast!, >110,000 SETs/sec, 81,000 GETs/sec in an entry level Linux box.
ResqueについてGithubで利用されているRuby on Railsで利用できるバックグラウンドでジョブシステム。
ソーシャルアプリでResqueを使う場面非同期タスク。resonse 5秒を以内で定期タスクdaily ranking処理など
似たようなRails向けライブラリとの比較
似たようなRails向けライブラリとの比較StrageRDB <KVSSpeed UP?!CronTaskSupport+(0゚・∀・) + ワクテカ +
Resqueの特徴個人的な説明redisのパワーを借りて、非同期処理を効率的に行うRailsライブラリ。特徴Atomic分散並列プライオリティ
Resque運用Resque-webRedis永続化Redis Replication
Resque運用Resque-webRedis永続化Redis Replication
Resque-webQueueの処理状況失敗していればRetryWorkerの状態貯まったQueue大変高速に処理していく様子を観察!(・∀・)イイ!!Redis Status
Resque運用Resque-webRedis永続化Redis Replication
Redis永続化永続化により、 メンテナンス性・耐障害性UP一方で。
Redis永続化メモリデータ永続化のコストが高い。デフォルトconfでは、定期的にKey数をチェックして保存。	⇒Key更新数が多すぎ⇒永続化タスク中に永続化⇒OOMKiller発動! 永続化タスクの強制実行&confの最適化。> redis-cliBGSAVEswfキャッシュにも利用。コスト高の要因orz
Resque運用Resque-webRedis永続化Redis Replication
Redis ReplicationRedis master - slave構成が可能。障害発生時のデータ保護。オンザフライでmaster slave化が可能。>redis-clislaveof <host> <port>>redis-clislaveof NO ONE
Redis & ResqueまとめQueuing Systemとして及第点。Redis 2.0.4以降の利用を公式でも推奨ResqueはRedisのパフォーマンスに依存。現時点では、sharding実装がないため、アプリ側でshardingするなどが必要。
Redisの今後Redisクライアントは各言語で存在。(php,C,python.etc…)Redis-clusterInstanceをDataNode化、耐障害性、node追加・削除。設計完了。現在開発中・・・乞うご期待
ご清聴ありがとうございました。

第3回クラウド勉強会 Redis&resque