Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Fluentとmongoで作るサービス

892 views

Published on

Published in: Technology
  • Be the first to comment

Fluentとmongoで作るサービス

  1. 1. FluentdとMongoで作る サービス PHPStudy 73rd @kogarasi_cross
  2. 2. は、、、初20枠です!
  3. 3. 自己紹介 名前: こがらし Twitter: @kogarasi_cross 仕事: Unityを使って飛び跳ねます(物 理)
  4. 4. こんな感じ …なんか違う
  5. 5. 冗談はさておき…
  6. 6. まずは登場人物を紹介
  7. 7. Fluentdとは ログ収拾のためのツール とってもPluggableなツール いろんなものを投げれる いろんなものをはける
  8. 8. Fluentdとは Part.2 何を投げれるのか? ログファイル(Tail PHPとかからプッシュ(Socket TwitterのStream←重要
  9. 9. Fluentdとは Part.3 何に投げれるのか 標準出力・ファイル・S3 MySQL/MongoDB…各種DB WebSocket
  10. 10. Fluentdとは Part.4 つまるところ何でもいける! 内部でJSONだったりMsgPackを使って いる。 そういうのをプラグイン上で処理出来れ ばOK
  11. 11. etc めっちゃいろんなプラグインがあります zabbixとか(zabbixってなに twilioとか http://fluentd.org/plugin/
  12. 12. MongoDBとは JSONぽいのを扱えるNoSQL DB Capped Collectionとかいうものがある (これを使う) JSを使って内部で集計処理とかやらせら れる
  13. 13. Capped Collection 保持できるデータ量に制限(Capped)が ついたもの 指定したデータ数・データサイズになる と、自動的に古いものから削除してくれる ※ただし、ユーザー操作でデータの削除や 途中挿入・並び替えは出来ない
  14. 14. ということで本題
  15. 15. あれ、Fluentdって ログ収拾ツールだよね?
  16. 16. そうです! そんなFluentdが今回は主役です!
  17. 17. 簡単な物から まずはFluentd単体で! Twitterから“なう"を集める http://nowtter.kogarasi.com
  18. 18. 中身 TwitterプラグインでPublic Streamを取得 Rewriteプラグインで”なう”が含まれるツ イートを抽出(日本語なのでTwitter APIで のフィルタリングが出来ない) WebSocketプラグインでクライアントへ転 送(簡単にWSサーバーになってくれる)
  19. 19. チェックポイント サーバーサイドのコーディングしてない
  20. 20. ゲームに転用← 「Stream Fighter」 至って普通のシューティング …ただし、敵が
 ”つぶやきによって出現すること以外は”
  21. 21. つぶやきの量=時間帯に よってスクリームの沸く 量が変わる ピーク時にやるとかなり つらい
  22. 22. チェックポイント ユーザーに伝わらない←
  23. 23. +MongoDBで Twitterで雨っぽいことを抽出して、各地 のお天気を表示 http://kogarasi.com/weather
  24. 24. 簡単な流れ Twitterプラグインでつぶやきを取得 集めたつぶやきから単語で抽出 抽出したつぶやきをMongoDBに片っ端から投げ込 む! Jenkinsで定期的にデータを集計しておく 集計データから現在の状況を表示する
  25. 25. チェックポイント Capped Collectionを利用しているので、 古いデータが自動的に破棄されていく ↑難しいデータ管理とか必要無い 雨には反応するけど、晴れには反応し ない\(^_^)/
  26. 26. まとめ 基本的な部分は動くように”設定”するだ け(Fluentd/MongoDB/Jenkins) コーディングしてるのはフロントエンド に近い部分のみ と思ったけど、集計処理とかは書いてた …
  27. 27. 質問とかそういうの
  28. 28. ご清聴 ありがとうございました

×