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