SlideShare a Scribd company logo
1 of 35
[ 大図解 ] ピグライフはこう動いている 株式会社サイバーエージェント アメーバ事業本部プラットフォームディビジョン システムディベロップメントグループ CA Developers Connect                       桑野 章弘
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],自己紹介
ピグライフ
ピグライフ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ピグライフ ,[object Object],[object Object],[object Object],[object Object]
ピグライフのアーキテクチャ [ リリース直後 ] ,[object Object]
ピグライフのアーキテクチャ [ リリース直後 ] ,[object Object],[object Object],[object Object],[object Object],[object Object]
ピグライフのアーキテクチャ[現在] ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ピグライフのアーキテクチャ [ リリース直後 ] ,[object Object]
アーキテクチャ構成 ,[object Object],[object Object],[object Object],[object Object],[object Object]
アーキテクチャ構成[アメーバピグ] Web+AP サーバ Socket サーバ Storage サーバ DB サーバ KVS サーバ HTTP 独自プロトコル Socket サーバ ユーザ (ブラウザ) FrontEnd BackEnd Flash データ リクエスト / 取得 ・ユーザ情報 ・チャットデータ ・ゲームデータ リクエスト / 取得 必要なデータの取得 ユーザの Flash データの保存など ユーザ / エリア等の状態データ ユーザ / エリア等の状態データ(現在は無)
アーキテクチャ構成[ピグライフ] stat サーバ Socket サーバ mongodb サーバ HTTP WebSocket 接続 Node.js サーバ ユーザ (ブラウザ) FrontEnd BackEnd Flash データ -> リクエスト / 取得 ・ユーザ情報 ・チャットデータ -> リクエスト / 取得 必要なデータの取得 ユーザ / エリア等の状態データ
ピグライフのアーキテクチャ [ リリース直後 ] ,[object Object]
リリース前構成 Stat サーバ Node.js サーバ MongoDB Log MongoDB ×6 行動ログの保存 mongos テストオープン時に実装
リリース時構成 Stat サーバ Node.js サーバ MongoDB Log MongoDB ×41 行動ログの保存 サーバにも取得 1 シャード追加 大量追加 mongos
リリース時構成 Stat サーバ Node.js サーバ MongoDB Log MongoDB ×41 行動ログの保存 サーバにも取得 1 シャード追加 大量追加 mongos ×3
現在時構成 Stat サーバ Node.js サーバ MongoDB Log MongoDB ×41 行動ログの保存 サーバにも取得 3 シャード追加 ( 合計 7 シャード ) 大量追加 mongos ・・・・・ ×3
node.js サーバ : アーキテクチャ ,[object Object],[object Object]
node.js サーバ : アーキテクチャ ,[object Object],[object Object],[object Object],[object Object]
node.js サーバ : アーキテクチャ ,[object Object],[object Object]
node.js サーバ:クラスタ構成 ,[object Object],[object Object],[object Object]
node.js サーバ:旧クラスタ構成 Nap サーバ 各サーバでの通信 リング間での通信 Nap サーバ Nap サーバ Nap サーバ サーバ 1   OK サーバ 2   OK サーバ 3   NG サーバ 4   OK サーバ 1   OK サーバ 2   OK サーバ 3   NG サーバ 4   OK
node.js サーバ:現クラスタ構成 Nap サーバ 各サーバの状態は mongodb 側に持つ Nap サーバ Nap サーバ MongoDB 各サーバの死活監視は相互に行う サーバ 1   OK サーバ 2   OK サーバ 3   NG サーバ 4   OK
静的配信サーバ ,[object Object],[object Object]
静的配信サーバ:着せ替えサムネイル ,[object Object],[object Object],[object Object]
静的配信サーバ:着せ替えサムネイル stat サーバ stat サーバ stat サーバ WebDAV でアップロード heartbeat
mongodb サーバ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
mongodb サーバ:アーキテクチャ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
mongodb サーバ:バックアップ・リストア ,[object Object],[object Object],バックアップサーバ MongoDB mongos mongodump mongodump -v --host 127.0.0.1 --port 27020 --out /backup/mongodb/data/testdatabase バックアップ
mongodb サーバ:バックアップ・リストア ,[object Object],[object Object],バックアップサーバ MongoDB mongos mongorestore mongorestore -v --host 127.0.0.1 --port 27020 --db testdatabase --drop /backup/mongodb/data/testdatabase/ リストア
mongodb サーバ:バックアップ・リストア ,[object Object],[object Object],use admin  switched to db admin  > db.runCommand({fsync:1,lock:1})   ロック > db.$cmd.sys.unlock.findOne();   アンロック
mongodb サーバ:いろんな問題 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
その他 ,[object Object],[object Object],[object Object],[object Object]
まとめ ,[object Object],[object Object]
まとめ ,[object Object],[object Object]

More Related Content

What's hot

サイボウズ_営業キャリアBAR(パートナー営業編)_190615
サイボウズ_営業キャリアBAR(パートナー営業編)_190615サイボウズ_営業キャリアBAR(パートナー営業編)_190615
サイボウズ_営業キャリアBAR(パートナー営業編)_190615Cybozu, Inc.
 
博物館・文化財・地域史資料のデジタル化と利活用
博物館・文化財・地域史資料のデジタル化と利活用博物館・文化財・地域史資料のデジタル化と利活用
博物館・文化財・地域史資料のデジタル化と利活用NOGUCHI Atsushi
 
元林会社説明資料(Slideshare用).pdf
元林会社説明資料(Slideshare用).pdf元林会社説明資料(Slideshare用).pdf
元林会社説明資料(Slideshare用).pdfssuser72575f
 
Reinvent Fila Proposal
Reinvent Fila ProposalReinvent Fila Proposal
Reinvent Fila ProposalMartafy!
 
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2023年5月号(♯157)
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2023年5月号(♯157)株式会社メンバーズ社内報MEMBUZZ(メンバズ)2023年5月号(♯157)
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2023年5月号(♯157)Members_corp
 
Maslow会社紹介資料 / MASLOW 2021 COMPANY GUIDE ver1.0
Maslow会社紹介資料 / MASLOW 2021 COMPANY GUIDE ver1.0Maslow会社紹介資料 / MASLOW 2021 COMPANY GUIDE ver1.0
Maslow会社紹介資料 / MASLOW 2021 COMPANY GUIDE ver1.0Takunori Adachi
 
2025年の崖とSAPの2025年問題に企業はどう対処すれば良いのか
2025年の崖とSAPの2025年問題に企業はどう対処すれば良いのか2025年の崖とSAPの2025年問題に企業はどう対処すれば良いのか
2025年の崖とSAPの2025年問題に企業はどう対処すれば良いのかBeeX.inc
 
高品質な Teams アプリを開発するためのポイント
高品質な Teams アプリを開発するためのポイント高品質な Teams アプリを開発するためのポイント
高品質な Teams アプリを開発するためのポイントOsamu Monoe
 
メタデータのファイルの管理
メタデータのファイルの管理メタデータのファイルの管理
メタデータのファイルの管理Sylvain Gantois
 
PMBOKガイド7をアジャイル屋はどう迎え撃つか?
PMBOKガイド7をアジャイル屋はどう迎え撃つか?PMBOKガイド7をアジャイル屋はどう迎え撃つか?
PMBOKガイド7をアジャイル屋はどう迎え撃つか?豆寄席 (株式会社豆蔵)
 
株式会社エイジレス_新卒向け資料
株式会社エイジレス_新卒向け資料株式会社エイジレス_新卒向け資料
株式会社エイジレス_新卒向け資料ssuser78a5c3
 
株式会社FinT会社紹介資料
株式会社FinT会社紹介資料株式会社FinT会社紹介資料
株式会社FinT会社紹介資料FinT1
 
サイボウズ 営業キャリアBAR
サイボウズ 営業キャリアBARサイボウズ 営業キャリアBAR
サイボウズ 営業キャリアBARCybozu, Inc.
 
【ポップインサイト】スタートアップのためのユーザテスト入門(ユーザ行動観察入門)
【ポップインサイト】スタートアップのためのユーザテスト入門(ユーザ行動観察入門)【ポップインサイト】スタートアップのためのユーザテスト入門(ユーザ行動観察入門)
【ポップインサイト】スタートアップのためのユーザテスト入門(ユーザ行動観察入門)いけとも
 
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2020年5月号(♯121)
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2020年5月号(♯121)株式会社メンバーズ社内報MEMBUZZ(メンバズ)2020年5月号(♯121)
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2020年5月号(♯121)Members_corp
 
WAI-ARIAの考え方と使い方を整理しよう
WAI-ARIAの考え方と使い方を整理しようWAI-ARIAの考え方と使い方を整理しよう
WAI-ARIAの考え方と使い方を整理しようNozomi Sawada
 
いいデザインと悪いデザイン
いいデザインと悪いデザインいいデザインと悪いデザイン
いいデザインと悪いデザインTakahashi Koki
 
【株式会社Amazia】採用紹介資料(エンジニア)
【株式会社Amazia】採用紹介資料(エンジニア)【株式会社Amazia】採用紹介資料(エンジニア)
【株式会社Amazia】採用紹介資料(エンジニア)AmaziaAmazia
 
そして僕は粛々とサービスデザインをするだけ
そして僕は粛々とサービスデザインをするだけそして僕は粛々とサービスデザインをするだけ
そして僕は粛々とサービスデザインをするだけYoshiki Hayama
 

What's hot (20)

サイボウズ_営業キャリアBAR(パートナー営業編)_190615
サイボウズ_営業キャリアBAR(パートナー営業編)_190615サイボウズ_営業キャリアBAR(パートナー営業編)_190615
サイボウズ_営業キャリアBAR(パートナー営業編)_190615
 
博物館・文化財・地域史資料のデジタル化と利活用
博物館・文化財・地域史資料のデジタル化と利活用博物館・文化財・地域史資料のデジタル化と利活用
博物館・文化財・地域史資料のデジタル化と利活用
 
元林会社説明資料(Slideshare用).pdf
元林会社説明資料(Slideshare用).pdf元林会社説明資料(Slideshare用).pdf
元林会社説明資料(Slideshare用).pdf
 
Reinvent Fila Proposal
Reinvent Fila ProposalReinvent Fila Proposal
Reinvent Fila Proposal
 
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2023年5月号(♯157)
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2023年5月号(♯157)株式会社メンバーズ社内報MEMBUZZ(メンバズ)2023年5月号(♯157)
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2023年5月号(♯157)
 
Maslow会社紹介資料 / MASLOW 2021 COMPANY GUIDE ver1.0
Maslow会社紹介資料 / MASLOW 2021 COMPANY GUIDE ver1.0Maslow会社紹介資料 / MASLOW 2021 COMPANY GUIDE ver1.0
Maslow会社紹介資料 / MASLOW 2021 COMPANY GUIDE ver1.0
 
2025年の崖とSAPの2025年問題に企業はどう対処すれば良いのか
2025年の崖とSAPの2025年問題に企業はどう対処すれば良いのか2025年の崖とSAPの2025年問題に企業はどう対処すれば良いのか
2025年の崖とSAPの2025年問題に企業はどう対処すれば良いのか
 
高品質な Teams アプリを開発するためのポイント
高品質な Teams アプリを開発するためのポイント高品質な Teams アプリを開発するためのポイント
高品質な Teams アプリを開発するためのポイント
 
メタデータのファイルの管理
メタデータのファイルの管理メタデータのファイルの管理
メタデータのファイルの管理
 
PMBOKガイド7をアジャイル屋はどう迎え撃つか?
PMBOKガイド7をアジャイル屋はどう迎え撃つか?PMBOKガイド7をアジャイル屋はどう迎え撃つか?
PMBOKガイド7をアジャイル屋はどう迎え撃つか?
 
株式会社エイジレス_新卒向け資料
株式会社エイジレス_新卒向け資料株式会社エイジレス_新卒向け資料
株式会社エイジレス_新卒向け資料
 
株式会社FinT会社紹介資料
株式会社FinT会社紹介資料株式会社FinT会社紹介資料
株式会社FinT会社紹介資料
 
サイボウズ 営業キャリアBAR
サイボウズ 営業キャリアBARサイボウズ 営業キャリアBAR
サイボウズ 営業キャリアBAR
 
【ポップインサイト】スタートアップのためのユーザテスト入門(ユーザ行動観察入門)
【ポップインサイト】スタートアップのためのユーザテスト入門(ユーザ行動観察入門)【ポップインサイト】スタートアップのためのユーザテスト入門(ユーザ行動観察入門)
【ポップインサイト】スタートアップのためのユーザテスト入門(ユーザ行動観察入門)
 
こうすれば書ける!ウェブアクセシビリティ方針と試験結果表示
こうすれば書ける!ウェブアクセシビリティ方針と試験結果表示こうすれば書ける!ウェブアクセシビリティ方針と試験結果表示
こうすれば書ける!ウェブアクセシビリティ方針と試験結果表示
 
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2020年5月号(♯121)
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2020年5月号(♯121)株式会社メンバーズ社内報MEMBUZZ(メンバズ)2020年5月号(♯121)
株式会社メンバーズ社内報MEMBUZZ(メンバズ)2020年5月号(♯121)
 
WAI-ARIAの考え方と使い方を整理しよう
WAI-ARIAの考え方と使い方を整理しようWAI-ARIAの考え方と使い方を整理しよう
WAI-ARIAの考え方と使い方を整理しよう
 
いいデザインと悪いデザイン
いいデザインと悪いデザインいいデザインと悪いデザイン
いいデザインと悪いデザイン
 
【株式会社Amazia】採用紹介資料(エンジニア)
【株式会社Amazia】採用紹介資料(エンジニア)【株式会社Amazia】採用紹介資料(エンジニア)
【株式会社Amazia】採用紹介資料(エンジニア)
 
そして僕は粛々とサービスデザインをするだけ
そして僕は粛々とサービスデザインをするだけそして僕は粛々とサービスデザインをするだけ
そして僕は粛々とサービスデザインをするだけ
 

Similar to [大図解]ピグライフはこう動いている

ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例知教 本間
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
インストールマニアックス5中間セミナー Windows Azureって何? インストールする前に相手を知ろう!
インストールマニアックス5中間セミナー Windows Azureって何? インストールする前に相手を知ろう!インストールマニアックス5中間セミナー Windows Azureって何? インストールする前に相手を知ろう!
インストールマニアックス5中間セミナー Windows Azureって何? インストールする前に相手を知ろう!満徳 関
 
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例AmebaのMongoDB活用事例
AmebaのMongoDB活用事例Akihiro Kuwano
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - SORACOM, INC
 
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天Hiro Yoshioka
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜Takahiro Inoue
 
Mashup Award 7 Caravan in Fukuoka
Mashup Award 7 Caravan in FukuokaMashup Award 7 Caravan in Fukuoka
Mashup Award 7 Caravan in FukuokaKazumi Hirose
 
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~Iwasaki Noboru
 
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceYAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceKazuho Oku
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3科 黄
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何Kana SUZUKI
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)Akihiro Kuwano
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築伊藤 祐策
 
Hatena's Infrastructure from the beginning
Hatena's Infrastructure from the beginningHatena's Infrastructure from the beginning
Hatena's Infrastructure from the beginningShinji Tanaka
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話leverages_event
 
東北クラウド実践カンファレンス2011
東北クラウド実践カンファレンス2011東北クラウド実践カンファレンス2011
東北クラウド実践カンファレンス2011Shinichiro Isago
 

Similar to [大図解]ピグライフはこう動いている (20)

ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
インストールマニアックス5中間セミナー Windows Azureって何? インストールする前に相手を知ろう!
インストールマニアックス5中間セミナー Windows Azureって何? インストールする前に相手を知ろう!インストールマニアックス5中間セミナー Windows Azureって何? インストールする前に相手を知ろう!
インストールマニアックス5中間セミナー Windows Azureって何? インストールする前に相手を知ろう!
 
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例AmebaのMongoDB活用事例
AmebaのMongoDB活用事例
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 -
 
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
 
PHP on Cloud
PHP on CloudPHP on Cloud
PHP on Cloud
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
 
Mashup Award 7 Caravan in Fukuoka
Mashup Award 7 Caravan in FukuokaMashup Award 7 Caravan in Fukuoka
Mashup Award 7 Caravan in Fukuoka
 
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
 
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceYAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
 
Nginx
NginxNginx
Nginx
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何
 
JavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjugJavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjug
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
 
Hatena's Infrastructure from the beginning
Hatena's Infrastructure from the beginningHatena's Infrastructure from the beginning
Hatena's Infrastructure from the beginning
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
 
東北クラウド実践カンファレンス2011
東北クラウド実践カンファレンス2011東北クラウド実践カンファレンス2011
東北クラウド実践カンファレンス2011
 

More from Akihiro Kuwano

今日はMongoDBの話はしない
今日はMongoDBの話はしない今日はMongoDBの話はしない
今日はMongoDBの話はしないAkihiro Kuwano
 
銀河レベルのLT(とは)
銀河レベルのLT(とは)銀河レベルのLT(とは)
銀河レベルのLT(とは)Akihiro Kuwano
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティスAkihiro Kuwano
 
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器Akihiro Kuwano
 
MongoDBの可能性の話
MongoDBの可能性の話MongoDBの可能性の話
MongoDBの可能性の話Akihiro Kuwano
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いたAkihiro Kuwano
 
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)Akihiro Kuwano
 
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいWiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいAkihiro Kuwano
 
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴Akihiro Kuwano
 
アメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなったアメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなったAkihiro Kuwano
 
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBAkihiro Kuwano
 
後悔しないもんごもんごの使い方 〜サーバ編〜
後悔しないもんごもんごの使い方 〜サーバ編〜後悔しないもんごもんごの使い方 〜サーバ編〜
後悔しないもんごもんごの使い方 〜サーバ編〜Akihiro Kuwano
 
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。Akihiro Kuwano
 
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストAkihiro Kuwano
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレするAkihiro Kuwano
 
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)Akihiro Kuwano
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。Akihiro Kuwano
 

More from Akihiro Kuwano (20)

今日はMongoDBの話はしない
今日はMongoDBの話はしない今日はMongoDBの話はしない
今日はMongoDBの話はしない
 
銀河レベルのLT(とは)
銀河レベルのLT(とは)銀河レベルのLT(とは)
銀河レベルのLT(とは)
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
AWSのNoSQL入門
AWSのNoSQL入門AWSのNoSQL入門
AWSのNoSQL入門
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティス
 
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器
 
MongoDBの可能性の話
MongoDBの可能性の話MongoDBの可能性の話
MongoDBの可能性の話
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
 
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
 
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいWiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しい
 
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
 
Chef環境の闇
Chef環境の闇Chef環境の闇
Chef環境の闇
 
アメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなったアメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなった
 
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
 
後悔しないもんごもんごの使い方 〜サーバ編〜
後悔しないもんごもんごの使い方 〜サーバ編〜後悔しないもんごもんごの使い方 〜サーバ編〜
後悔しないもんごもんごの使い方 〜サーバ編〜
 
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
 
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキスト
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレする
 
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Recently uploaded (10)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

[大図解]ピグライフはこう動いている

  • 1. [ 大図解 ] ピグライフはこう動いている 株式会社サイバーエージェント アメーバ事業本部プラットフォームディビジョン システムディベロップメントグループ CA Developers Connect                       桑野 章弘
  • 2.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. アーキテクチャ構成[アメーバピグ] Web+AP サーバ Socket サーバ Storage サーバ DB サーバ KVS サーバ HTTP 独自プロトコル Socket サーバ ユーザ (ブラウザ) FrontEnd BackEnd Flash データ リクエスト / 取得 ・ユーザ情報 ・チャットデータ ・ゲームデータ リクエスト / 取得 必要なデータの取得 ユーザの Flash データの保存など ユーザ / エリア等の状態データ ユーザ / エリア等の状態データ(現在は無)
  • 12. アーキテクチャ構成[ピグライフ] stat サーバ Socket サーバ mongodb サーバ HTTP WebSocket 接続 Node.js サーバ ユーザ (ブラウザ) FrontEnd BackEnd Flash データ -> リクエスト / 取得 ・ユーザ情報 ・チャットデータ -> リクエスト / 取得 必要なデータの取得 ユーザ / エリア等の状態データ
  • 13.
  • 14. リリース前構成 Stat サーバ Node.js サーバ MongoDB Log MongoDB ×6 行動ログの保存 mongos テストオープン時に実装
  • 15. リリース時構成 Stat サーバ Node.js サーバ MongoDB Log MongoDB ×41 行動ログの保存 サーバにも取得 1 シャード追加 大量追加 mongos
  • 16. リリース時構成 Stat サーバ Node.js サーバ MongoDB Log MongoDB ×41 行動ログの保存 サーバにも取得 1 シャード追加 大量追加 mongos ×3
  • 17. 現在時構成 Stat サーバ Node.js サーバ MongoDB Log MongoDB ×41 行動ログの保存 サーバにも取得 3 シャード追加 ( 合計 7 シャード ) 大量追加 mongos ・・・・・ ×3
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. node.js サーバ:旧クラスタ構成 Nap サーバ 各サーバでの通信 リング間での通信 Nap サーバ Nap サーバ Nap サーバ サーバ 1   OK サーバ 2   OK サーバ 3   NG サーバ 4   OK サーバ 1   OK サーバ 2   OK サーバ 3   NG サーバ 4   OK
  • 23. node.js サーバ:現クラスタ構成 Nap サーバ 各サーバの状態は mongodb 側に持つ Nap サーバ Nap サーバ MongoDB 各サーバの死活監視は相互に行う サーバ 1   OK サーバ 2   OK サーバ 3   NG サーバ 4   OK
  • 24.
  • 25.
  • 26. 静的配信サーバ:着せ替えサムネイル stat サーバ stat サーバ stat サーバ WebDAV でアップロード heartbeat
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.