nanapi  の レシピ 株式会社ロケットスタート CTO  和田修一  (id:wadap)
「 nanapi 」 というサービス
ご存知ですか?
 
 
生活の知恵を 共有できる
CGM サイト
リリース日 : 2009 年 9 月 1 日 月間 PV :約 150 万 月間 UU :約 50 万
nanapi の 構築事例
Cake の話 少なめかもしれません ><
本日のアジェンダ 自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
自己紹介 名前 :  和田修一  / id:wadap 所属 :  株式会社 ロケットスタート Blog : Unix 的なアレ( http://d.hatena.ne.jp/wadap/ ) 連載 : Unix 的なアレ  gihyo.jp ...
開発環境 ThinkPad x200 Windows の作業フォルダを Vmware がマウント CentOS5.3 (i386) Windows7
自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
フレームワーク選定 実は、わたくし
フレームワーク選定 インフラ専門
フレームワーク選定 得意な言語が ないんです><
フレームワーク選定 得意な フレームワークも ないんです><
フレームワーク選定 そのため ゼロベースで 選択しました
選ぶときの3つの基準 習得が高速 ドキュメントが豊富 一人で開発しやすい
一応さわったことがあるもの
Google Trend での傾向
自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
nanapi の設計ポリシー フレームワーク やっぱり便利!
nanapi の設計ポリシー でもやっぱり
nanapi の設計ポリシー 重いよねぇ
nanapi の設計ポリシー まぁ仕方ないっす
nanapi の設計ポリシー じゃぁ使いどころ 考えよう!
nanapi の機能
機能ごとの切り分け 高速さ 処理の 複雑さ 会員機能 投稿機能 検索機能 評価機能 CakePHP 文章表示 トップページ 静的コンテンツ Ajax 用 API PHP  +  Clearsilver PHP
(ちょっと脱線) Clearsilver って? C 言語で書かれた超高速なテンプレートエンジン データ ファイル テンプレート ファイル HTML
ドメインで分ける http://nanapi.jp/member/ http://r.nanapi.jp/560/
Apache の Alias でわける http://nanapi.jp/ <VirtualHost *:80> ## top page AliasMatch “^/$”  /var/www/webroot/top.php </VirtualH...
自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
nanapi  システム構成 ベンチャー ですもの
nanapi  システム構成 豪華なシステムは くめません
nanapi  システム構成 それでも
nanapi  システム構成 安く 高速で スケーラブル
nanapi  システム構成 そこで考えた構成
nanapi  システム構成 スタンドアロン型 インフラ
nanapi  システム構成 データさえ 分散できれば
nanapi  システム構成 スケールアウトは 容易
nanapi  システム構成 評価の数値、 PV の数値 Tokyo Tyrant HTML 化済み、文章データ ファイル ドキュメントデータ、会員情報など MySQL キャッシュ、 Token など一時データ Memcached
投稿システムのお話
投稿ごとにファイルを生成 文章を投稿するとき 投稿 MySQL 転送 Server - A Server - B ユーザーから投稿を受け付ける。 独自記法を採用しているため、パース前の データを DB へ保存。パースしたものをファイルで保存。 ...
投稿ごとにファイルを生成 文章を投稿するとき 投稿 MySQL 転送 Server - A Server - B Lsyncd (注)で指定したディレクトリを監視し、 リモートサーバへファイルを転送 データ ファイル
投稿ごとにファイルを生成 文章を投稿するとき 投稿 MySQL 転送 Server - A Server - B rsyncd daemon  でファイルを受け取り、 ローカル Disk へ保存 データ ファイル
nanapi  システム構成 表示も高速に!
文書ページでの表示優先順位 最優先 あとまわし あとまわし
文章ページの表示 パース済み HTML
文章ページの表示 Ajax で数値を取得
そのほかにも CSS SPRITE 静的コンテンツの外部ドメイン化 Expire ヘッダの付与 静的コンテンツの GZIP 化
徹底的に高速化!
自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
よいなぁと思う文化
さいごに 自分も積極的に参加を していきたいと思っています!
さいごに nanapi もよろしくね!
みんなしゃべっていたので・・・ Version :1.2 Controller :13 Component :10 View :80
 
Upcoming SlideShare
Loading in...5
×

Cake Matsuri Nanapi

4,542

Published on

Published in: Technology
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,542
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
43
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

Cake Matsuri Nanapi

  1. 1. nanapi の レシピ 株式会社ロケットスタート CTO 和田修一 (id:wadap)
  2. 2. 「 nanapi 」 というサービス
  3. 3. ご存知ですか?
  4. 6. 生活の知恵を 共有できる
  5. 7. CGM サイト
  6. 8. リリース日 : 2009 年 9 月 1 日 月間 PV :約 150 万 月間 UU :約 50 万
  7. 9. nanapi の 構築事例
  8. 10. Cake の話 少なめかもしれません ><
  9. 11. 本日のアジェンダ 自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
  10. 12. 自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
  11. 13. 自己紹介 名前 : 和田修一 / id:wadap 所属 : 株式会社 ロケットスタート Blog : Unix 的なアレ( http://d.hatena.ne.jp/wadap/ ) 連載 : Unix 的なアレ gihyo.jp 出張所 経歴 : 2005 年、楽天株式会社に新卒入社 主にサーバ・ストレージの設計構築に携わる 2009 年 6 月に退職。ロケットスタート CTO に就任
  12. 14. 開発環境 ThinkPad x200 Windows の作業フォルダを Vmware がマウント CentOS5.3 (i386) Windows7
  13. 15. 自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
  14. 16. フレームワーク選定 実は、わたくし
  15. 17. フレームワーク選定 インフラ専門
  16. 18. フレームワーク選定 得意な言語が ないんです><
  17. 19. フレームワーク選定 得意な フレームワークも ないんです><
  18. 20. フレームワーク選定 そのため ゼロベースで 選択しました
  19. 21. 選ぶときの3つの基準 習得が高速 ドキュメントが豊富 一人で開発しやすい
  20. 22. 一応さわったことがあるもの
  21. 23. Google Trend での傾向
  22. 24. 自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
  23. 25. nanapi の設計ポリシー フレームワーク やっぱり便利!
  24. 26. nanapi の設計ポリシー でもやっぱり
  25. 27. nanapi の設計ポリシー 重いよねぇ
  26. 28. nanapi の設計ポリシー まぁ仕方ないっす
  27. 29. nanapi の設計ポリシー じゃぁ使いどころ 考えよう!
  28. 30. nanapi の機能
  29. 31. 機能ごとの切り分け 高速さ 処理の 複雑さ 会員機能 投稿機能 検索機能 評価機能 CakePHP 文章表示 トップページ 静的コンテンツ Ajax 用 API PHP + Clearsilver PHP
  30. 32. (ちょっと脱線) Clearsilver って? C 言語で書かれた超高速なテンプレートエンジン データ ファイル テンプレート ファイル HTML
  31. 33. ドメインで分ける http://nanapi.jp/member/ http://r.nanapi.jp/560/
  32. 34. Apache の Alias でわける http://nanapi.jp/ <VirtualHost *:80> ## top page AliasMatch “^/$” /var/www/webroot/top.php </VirtualHost> そのほか、 Ajax 用の API も Alias で指定しています
  33. 35. 自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
  34. 36. nanapi システム構成 ベンチャー ですもの
  35. 37. nanapi システム構成 豪華なシステムは くめません
  36. 38. nanapi システム構成 それでも
  37. 39. nanapi システム構成 安く 高速で スケーラブル
  38. 40. nanapi システム構成 そこで考えた構成
  39. 41. nanapi システム構成 スタンドアロン型 インフラ
  40. 42. nanapi システム構成 データさえ 分散できれば
  41. 43. nanapi システム構成 スケールアウトは 容易
  42. 44. nanapi システム構成 評価の数値、 PV の数値 Tokyo Tyrant HTML 化済み、文章データ ファイル ドキュメントデータ、会員情報など MySQL キャッシュ、 Token など一時データ Memcached
  43. 45. 投稿システムのお話
  44. 46. 投稿ごとにファイルを生成 文章を投稿するとき 投稿 MySQL 転送 Server - A Server - B ユーザーから投稿を受け付ける。 独自記法を採用しているため、パース前の データを DB へ保存。パースしたものをファイルで保存。 データ ファイル
  45. 47. 投稿ごとにファイルを生成 文章を投稿するとき 投稿 MySQL 転送 Server - A Server - B Lsyncd (注)で指定したディレクトリを監視し、 リモートサーバへファイルを転送 データ ファイル
  46. 48. 投稿ごとにファイルを生成 文章を投稿するとき 投稿 MySQL 転送 Server - A Server - B rsyncd daemon でファイルを受け取り、 ローカル Disk へ保存 データ ファイル
  47. 49. nanapi システム構成 表示も高速に!
  48. 50. 文書ページでの表示優先順位 最優先 あとまわし あとまわし
  49. 51. 文章ページの表示 パース済み HTML
  50. 52. 文章ページの表示 Ajax で数値を取得
  51. 53. そのほかにも CSS SPRITE 静的コンテンツの外部ドメイン化 Expire ヘッダの付与 静的コンテンツの GZIP 化
  52. 54. 徹底的に高速化!
  53. 55. 自己紹介 1 CakePHP を選んだワケ 2 nanapi の設計ポリシー 3 nanapi のシステム構成 4 さいごに 5
  54. 56. よいなぁと思う文化
  55. 57. さいごに 自分も積極的に参加を していきたいと思っています!
  56. 58. さいごに nanapi もよろしくね!
  57. 59. みんなしゃべっていたので・・・ Version :1.2 Controller :13 Component :10 View :80
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×