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

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

2,050 views

Published on

http://gihyo.jp/news/report/2011/01/1101

Published in: Technology
  • Be the first to comment

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

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

×