Cake Matsuri Nanapi
Upcoming SlideShare
Loading in...5
×
 

Cake Matsuri Nanapi

on

  • 5,492 views

 

Statistics

Views

Total Views
5,492
Views on SlideShare
4,129
Embed Views
1,363

Actions

Likes
7
Downloads
40
Comments
0

8 Embeds 1,363

http://d.hatena.ne.jp 996
http://toyao.net 198
http://wadap.hatenablog.com 148
http://www.slideshare.net 13
http://webcache.googleusercontent.com 4
http://cache.yahoofs.jp 2
https://cybozulive.com 1
http://localhost 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Cake Matsuri Nanapi Cake Matsuri Nanapi Presentation Transcript

  • 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 出張所 経歴 : 2005 年、楽天株式会社に新卒入社 主にサーバ・ストレージの設計構築に携わる 2009 年 6 月に退職。ロケットスタート CTO に就任
  • 開発環境 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 </VirtualHost> そのほか、 Ajax 用の API も Alias で指定しています
  • 自己紹介 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
  •