NHN Student Day #3NAVERまとめの裏側
NHN Student Day とは• NHN Japan(livedoor、NAVER)が行っ ている学生向けイベント• 無料、焼き肉懇親会付き• 講演内容はネットに公開してもいいら しい
NAVERまとめ
マルチプラットフォーム• Webブラウザ(PC)• スマートフォン• Android/iPhoneアプリ(WebView)• ハンドリングはApacheのモジュール
言語とか•   Java SE、Java EE、Spring、FreeMaker、iBatis•   JS、CSS、Obj-C、Android、シェルスクリプ    ト、Awk、SED、Python、C、Perl、PHP、Ruby•   みんな...
データベース• MySQLのマスタ・スレーブ構成 • 水平/垂直シャーディング • アプリケーション側にロジック • 管理系/サービスを分ける• クロール用のDB、管理用DBは別
キャッシュ• キャッシュはmemcached• プロセスを分けて小さいメモリサイズ で運用
バッチサーバ• さわるのはDBとファイル• DB(MySQL) • DBバックアップ• ファイル • ログファイル、テンポラリファイル
バッチサーバ• 簡易統計 • まとめ統計 • トピック統計• まとめのバッチ処理
ソーシャル連携• Twitter API• Facebook API• 「注目まとめ」を... • Twitterのbotに流す • Facebookに流す(RSS Graffi)
Statusサーバ• 作成まとめ分析 • 総まとめPV、アクセスログ、ソーシャ  ル統計• Fluentd(毎分)->Hadoop • 時間別、非別処理はバッチ
Status続き• JobTrackerを直接叩く• 最終的にはRadius、MySQLに保存• データ構造を設計段階で細かく決める• MessagePackで圧縮
検索• フリーワード検索だけじゃない! • 作成日付等、細かい条件が使える• Tomcat->Rabbit MQ->シェルスクで MySQL、Redis、Solrに反映
お気に入り• 外部連係データの取得• クローラはEvent Machineで開発 • キューが入るとキックされる• MongoDBを使ってるよ • こまったちゃん
Monitorサーバ• インフラ監視• 独自システム • HDD、CPU、メモリ、ネットワーク • NAVERで共有
NAVER共有• SEARCH• IMAGE• STATIC(js/CSS)• SHORT URL• MEMBER• BLOCK
開発チーム
役割分担1/3•   プランナー•   デザイナー•   マークアップエンジニア•   スクリプトエンジニア•   サーバエンジニア
役割分担2/3•   アプリエンジニア•   QAエンジニア•   オペレータ•   マーケッター
役割分担3/3•   インフラエンジニア•   通訳(本社が韓国なので)•   セキュリティ
なぜ速いのか• ブロック要素をまとめてキャッシュ• 「もっと読む」をAjaxで先読み (スマートフォン)• サードパーティAPIはjsから直接
おまけ• Subversion• prekin -> gainen -> minerva ->• minerva(new) 現在4台目• まとめv10
Upcoming SlideShare
Loading in …5
×

NAVERまとめの裏側

2,250 views

Published on

NHN Student Day #03
NAVERまとめの裏側

講演内容を簡単にkeynoteした。写真もいくつかあったが自重。

# 中の人へ > 講演会の時はネットに上げて良いよって話だったと思うのですが、もし問題があったらFacebookの方へ連絡ください

Published in: Technology
1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total views
2,250
On SlideShare
0
From Embeds
0
Number of Embeds
50
Actions
Shares
0
Downloads
7
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • NAVERまとめの裏側

    1. 1. NHN Student Day #3NAVERまとめの裏側
    2. 2. NHN Student Day とは• NHN Japan(livedoor、NAVER)が行っ ている学生向けイベント• 無料、焼き肉懇親会付き• 講演内容はネットに公開してもいいら しい
    3. 3. NAVERまとめ
    4. 4. マルチプラットフォーム• Webブラウザ(PC)• スマートフォン• Android/iPhoneアプリ(WebView)• ハンドリングはApacheのモジュール
    5. 5. 言語とか• Java SE、Java EE、Spring、FreeMaker、iBatis• JS、CSS、Obj-C、Android、シェルスクリプ ト、Awk、SED、Python、C、Perl、PHP、Ruby• みんな自由に書いてるよ
    6. 6. データベース• MySQLのマスタ・スレーブ構成 • 水平/垂直シャーディング • アプリケーション側にロジック • 管理系/サービスを分ける• クロール用のDB、管理用DBは別
    7. 7. キャッシュ• キャッシュはmemcached• プロセスを分けて小さいメモリサイズ で運用
    8. 8. バッチサーバ• さわるのはDBとファイル• DB(MySQL) • DBバックアップ• ファイル • ログファイル、テンポラリファイル
    9. 9. バッチサーバ• 簡易統計 • まとめ統計 • トピック統計• まとめのバッチ処理
    10. 10. ソーシャル連携• Twitter API• Facebook API• 「注目まとめ」を... • Twitterのbotに流す • Facebookに流す(RSS Graffi)
    11. 11. Statusサーバ• 作成まとめ分析 • 総まとめPV、アクセスログ、ソーシャ ル統計• Fluentd(毎分)->Hadoop • 時間別、非別処理はバッチ
    12. 12. Status続き• JobTrackerを直接叩く• 最終的にはRadius、MySQLに保存• データ構造を設計段階で細かく決める• MessagePackで圧縮
    13. 13. 検索• フリーワード検索だけじゃない! • 作成日付等、細かい条件が使える• Tomcat->Rabbit MQ->シェルスクで MySQL、Redis、Solrに反映
    14. 14. お気に入り• 外部連係データの取得• クローラはEvent Machineで開発 • キューが入るとキックされる• MongoDBを使ってるよ • こまったちゃん
    15. 15. Monitorサーバ• インフラ監視• 独自システム • HDD、CPU、メモリ、ネットワーク • NAVERで共有
    16. 16. NAVER共有• SEARCH• IMAGE• STATIC(js/CSS)• SHORT URL• MEMBER• BLOCK
    17. 17. 開発チーム
    18. 18. 役割分担1/3• プランナー• デザイナー• マークアップエンジニア• スクリプトエンジニア• サーバエンジニア
    19. 19. 役割分担2/3• アプリエンジニア• QAエンジニア• オペレータ• マーケッター
    20. 20. 役割分担3/3• インフラエンジニア• 通訳(本社が韓国なので)• セキュリティ
    21. 21. なぜ速いのか• ブロック要素をまとめてキャッシュ• 「もっと読む」をAjaxで先読み (スマートフォン)• サードパーティAPIはjsから直接
    22. 22. おまけ• Subversion• prekin -> gainen -> minerva ->• minerva(new) 現在4台目• まとめv10

    ×