Yohoushi

6,134 views
6,087 views

Published on

Yohoushi

  1. 1. Yohoushi loves GrowthForecast SEO Naotoshi (@sonots) 2013/07/25
  2. 2. 自己紹介 •SEO Naotoshi •@sonots (そのっつ) •所属 :DeNA •Ops のための Dev 始めました
  3. 3. fluentd.org
  4. 4. 今日のお話 •Yohoushi とは •Yohoushi のアーキテクチャ •Yohoushi のデモ
  5. 5. Yohoushi (予報士)
  6. 6. 分散RRD グラフツール!! スケーラブル!!
  7. 7. グラフツール といえば
  8. 8. HTTP POSTするだけ すごい便利
  9. 9. だけど
  10. 10. GrowthForecastでどうしても手が届か なかった所 >< •3階層までしか持てない /service/section/graph_name •書き込みスケーラビリティがない •書き込みきれなくなったときにもう1台足すしかない •そうなると、画面が分かれて使いづらい •階層ベースの一覧しか見れない •同じグラフ名のグラフ一覧を見たい
  11. 11. 作った
  12. 12. Yohoushi (予報士)
  13. 13. •HTTP API を持つバックエンドと Yohoushi フロントエンド •書き込みスケーラビリティを確保するため RRDtool を分散 Yohoushi アーキテクチャ
  14. 14. Yohoushi フロントエンド •ちょっとリッチなUIとか (ajax) •タグ機能とか •バックエンドのグラフをまとめて表示するUI
  15. 15. agent (データを投げるナニか) •直接バックエンドにPOST • Yohoushi フロントエンドがボトルネックになると悲しいので • グラフ一覧情報は worker で定期的に更新しておく(config用) ※ Yohoushi に agent は含まれません
  16. 16. Yohoushi バックエンド •それって GrowthForecast で (ry •RRDtool 更新に対する HTTP API を持つ •実際には worker が定期的に rrdupdate をかける
  17. 17. じゃあ GrowthForecast を 使おう (・ω<) テヘペロ
  18. 18. なんだってー ※ なにか画像があった気がする
  19. 19. Yohoushi loves GrowthForecast ※ 椅子を投げないでください 再掲
  20. 20. 分散RRD GrowthForecast グラフツール!! ※ 椅子を投げないでください 再掲 Yohoushi =
  21. 21. 本気でやる
  22. 22. GrowthForecast プルリク
  23. 23. GrowthForecast プルリク
  24. 24. GrowthForecast プルリク ※ thanks to @mikeda
  25. 25. GrowthForecast プルリク
  26. 26. •ルーティングルールを定義して分散 POST する gem •Yohoushi 内部と agent で使用 MultiForecast Client https://github.com/sonots/multiforecast-client
  27. 27. Yohoushi デモ •タグ機能 •ajax なグラフツリー •autocomplete グラフサーチ •期間指定 •サムネイル
  28. 28. gem (一部) ruby '2.0.0' gem 'rails', ' > 4.0.0' gem 'ancestry', # tree model gem 'acts-as-taggable-on' # tagging gem 'slim', :require => 'slim-rails' gem 'draper' # decorator(view-model) gem 'serverengine' gem 'better_errors' # sophisticated error view gem 'byebug' # ruby 2.0 debugger
  29. 29. js, css (一部) jquery bootstrap jquery-ui-autocomplete bootstrap-datetimepicker jquery-ba-hashchange font-awesome jquery-tagit
  30. 30. こちらで公開 http://github.com/ yohoushi/yohoushi
  31. 31. まとめ •分散 GrowthForecast グラフツール Yohoushi •3階層以上持てる •使ってみてね(・ω<) •スケーラブル •タグを付けて一覧表示 •期間指定、サムネイル表示ができる
  32. 32. •rrdcached 補足∼分散RRD検討∼ •分散 GF 以外の分散 RRD ツールも検討 •リモートから叩けるようになる •HTTP API 代わりに使えそう。逆にGFでOKという話も •rrdtool-libdbi •RRDファイルではなくMySQLに保存 •Spider を使ってシャーディング •Spider、rrdtoo-libdbi 共にあまり事例が見当たらない? •GFにプルリク送りつつ開発するのが健全?

×