Suche senden
Hochladen
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
•
6 gefällt mir
•
8,863 views
hideyuki ikeda
Folgen
第77回codeseek勉強会&第17回日本C#ユーザー会 勉強会
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 66
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!
YutoNishine
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!
YutoNishine
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
KLab株式会社
サーバーのおしごと
サーバーのおしごと
Yugo Shimizu
Ec2 automation framework
Ec2 automation framework
Kiyotaka Kunihira
入門者の方向け Azure PlayFab の簡単な紹介
入門者の方向け Azure PlayFab の簡単な紹介
YutoNishine
大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側
KLab株式会社
AWS Auroraよもやま話
AWS Auroraよもやま話
Akira Miki
Empfohlen
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!
YutoNishine
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!
YutoNishine
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
KLab株式会社
サーバーのおしごと
サーバーのおしごと
Yugo Shimizu
Ec2 automation framework
Ec2 automation framework
Kiyotaka Kunihira
入門者の方向け Azure PlayFab の簡単な紹介
入門者の方向け Azure PlayFab の簡単な紹介
YutoNishine
大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側
KLab株式会社
AWS Auroraよもやま話
AWS Auroraよもやま話
Akira Miki
Dockerizeして 大変だった話、幸せになった話
Dockerizeして 大変だった話、幸せになった話
Akira Miki
BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話
Tomokazu Tochi
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
Daisuke Masubuchi
まわいくどい更新情報機能
まわいくどい更新情報機能
Norihiko Matsumoto
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
Kentaro Matsui
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
Oonishi Takaaki
利益はデータベースの中にあった!
利益はデータベースの中にあった!
infinite_loop
Abc words20130615
Abc words20130615
Toshihiro Yoshiura
Playfabmeetup#4
Playfabmeetup#4
勝成 鈴江
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Yahoo!デベロッパーネットワーク
ちょっと分かった気になるAzure概要
ちょっと分かった気になるAzure概要
Keiji Kamebuchi
Aiming飲み会 1-rails における コネクション数と シャーディングのお話
Aiming飲み会 1-rails における コネクション数と シャーディングのお話
Hidenori Doi
GREE 流!AWS をお得に使う方法
GREE 流!AWS をお得に使う方法
gree_tech
C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携
YutoNishine
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
Kazumi IWANAGA
Wordbench fukuoka
Wordbench fukuoka
Junji Manno
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs
Takahiro Iwase
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
Daisuke Masubuchi
Developers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 Azureでターイムアタック
Kazumi Hirose
DynamoDBを利用したKPI保存システム
DynamoDBを利用したKPI保存システム
gree_tech
Layout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用について
kimukou_26 Kimukou
主婦でもできる Android Layout
主婦でもできる Android Layout
Hiromi Tsuzuki
Weitere ähnliche Inhalte
Was ist angesagt?
Dockerizeして 大変だった話、幸せになった話
Dockerizeして 大変だった話、幸せになった話
Akira Miki
BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話
Tomokazu Tochi
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
Daisuke Masubuchi
まわいくどい更新情報機能
まわいくどい更新情報機能
Norihiko Matsumoto
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
Kentaro Matsui
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
Oonishi Takaaki
利益はデータベースの中にあった!
利益はデータベースの中にあった!
infinite_loop
Abc words20130615
Abc words20130615
Toshihiro Yoshiura
Playfabmeetup#4
Playfabmeetup#4
勝成 鈴江
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Yahoo!デベロッパーネットワーク
ちょっと分かった気になるAzure概要
ちょっと分かった気になるAzure概要
Keiji Kamebuchi
Aiming飲み会 1-rails における コネクション数と シャーディングのお話
Aiming飲み会 1-rails における コネクション数と シャーディングのお話
Hidenori Doi
GREE 流!AWS をお得に使う方法
GREE 流!AWS をお得に使う方法
gree_tech
C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携
YutoNishine
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
Kazumi IWANAGA
Wordbench fukuoka
Wordbench fukuoka
Junji Manno
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs
Takahiro Iwase
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
Daisuke Masubuchi
Developers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 Azureでターイムアタック
Kazumi Hirose
DynamoDBを利用したKPI保存システム
DynamoDBを利用したKPI保存システム
gree_tech
Was ist angesagt?
(20)
Dockerizeして 大変だった話、幸せになった話
Dockerizeして 大変だった話、幸せになった話
BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
まわいくどい更新情報機能
まわいくどい更新情報機能
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
利益はデータベースの中にあった!
利益はデータベースの中にあった!
Abc words20130615
Abc words20130615
Playfabmeetup#4
Playfabmeetup#4
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
ちょっと分かった気になるAzure概要
ちょっと分かった気になるAzure概要
Aiming飲み会 1-rails における コネクション数と シャーディングのお話
Aiming飲み会 1-rails における コネクション数と シャーディングのお話
GREE 流!AWS をお得に使う方法
GREE 流!AWS をお得に使う方法
C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
Wordbench fukuoka
Wordbench fukuoka
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
Developers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 Azureでターイムアタック
DynamoDBを利用したKPI保存システム
DynamoDBを利用したKPI保存システム
Andere mochten auch
Layout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用について
kimukou_26 Kimukou
主婦でもできる Android Layout
主婦でもできる Android Layout
Hiromi Tsuzuki
Wckansai 2014
Wckansai 2014
Wataru OKAMOTO
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
Ouka Yuka
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
nisobe58
ngServer and-collaboratived-development-between-san-francisco-and-tokyo
ngServer and-collaboratived-development-between-san-francisco-and-tokyo
Satoshi Tanaka
Building scalablewebapps
Building scalablewebapps
Ayumu Aizawa
日曜プログラマーが 1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが 1週間くらいで通信対戦ゲームを作ってみた
Yuusuke Takeuchi
C#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive Extensions
Yoshifumi Kawai
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
parrotstudio
17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分
Keiji Kamebuchi
An other world awaits you
An other world awaits you
信之 岩永
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
nishio
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Patrick Chanezon
ngGoBuilder and collaborative development between San Francisco and Tokyo
ngGoBuilder and collaborative development between San Francisco and Tokyo
notolab
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
Yuuki Namikawa
【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理
Developers Summit
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
Yoshifumi Kawai
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
Andere mochten auch
(20)
Layout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用について
主婦でもできる Android Layout
主婦でもできる Android Layout
Wckansai 2014
Wckansai 2014
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ngServer and-collaboratived-development-between-san-francisco-and-tokyo
ngServer and-collaboratived-development-between-san-francisco-and-tokyo
Building scalablewebapps
Building scalablewebapps
日曜プログラマーが 1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが 1週間くらいで通信対戦ゲームを作ってみた
C#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive Extensions
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分
An other world awaits you
An other world awaits you
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
ngGoBuilder and collaborative development between San Francisco and Tokyo
ngGoBuilder and collaborative development between San Francisco and Tokyo
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Ähnlich wie 20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Kentaro Matsui
Zynga
Zynga
awsadvantageseminar
Aws privte20110406 arai
Aws privte20110406 arai
awsadovantageseminar
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
Amazon Web Services Japan
Aiming のクラウド採用基準
Aiming のクラウド採用基準
Takahiro Hozumi
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
h2so5
Web サービス インフラの近未来
Web サービス インフラの近未来
Syuichi Murashima
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
Shota Umeda
Windows azureって何
Windows azureって何
Kana SUZUKI
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
SAKURUG co.
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
Amazon Web Services Japan
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
Masakazu Muraoka
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
201910 azure seminar
201910 azure seminar
SAKURUG co.
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
Shogo Iwano
現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure
Keiichi Hashimoto
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
Amazon Web Services Japan
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
Ryo Iinuma
Effective web performance tuning for smartphone
Effective web performance tuning for smartphone
dena_study
Ähnlich wie 20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
(20)
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Zynga
Zynga
Aws privte20110406 arai
Aws privte20110406 arai
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
Aiming のクラウド採用基準
Aiming のクラウド採用基準
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
Web サービス インフラの近未来
Web サービス インフラの近未来
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
Windows azureって何
Windows azureって何
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
201910 azure seminar
201910 azure seminar
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
Effective web performance tuning for smartphone
Effective web performance tuning for smartphone
Kürzlich hochgeladen
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
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 の勉強会で発表されたものです
iPride Co., Ltd.
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Kürzlich hochgeladen
(10)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
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 の勉強会で発表されたものです
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
1.
ASP.NET+C#で開発する 大規模ソーシャルゲーム
株式会社gloops CTO 池田秀行
2.
自己紹介 • 株式会社gloops CTO •
前職ではJavaで金融向けSI • 2007年に転職、Flexでnendo.tvを開発 • C#とJavaScriptが好き • facebook.com/hikeda
3.
アジェンダ 1. ソーシャルゲームとは? 2. 大規模サービスを支えるシステム構成 3.
ソーシャルゲームの運用
4.
1. ソーシャルゲームとは?
5.
ソーシャルゲームについて • SNSがプラットフォームとしてAPIを提供 • サードパーティがPF上にアプリを提供可能 •
FBのオープン化から急速に拡大(日本では 2009年から)
6.
従来のゲームとの違い • 友達とプレイすることを前提としたアプリ • 1回のプレイ時間が5分程度でも成り立つ •
終わりのないゲームデザイン • 運営中は継続的な改善の繰り返し • コミュニケーションサービス
7.
ちょっとだけゲームを紹介
8.
9.
DEMO
10.
システム的な特徴 • 実は従来のWebアプリと変わらない • プラットフォームの提供するAPIを使う
(OpenSocialAPI / OAuth) • トラフィック量が半端ない
11.
OpenSocialとは? • 複数Webサイト間で使用可能なソーシャル アプリケーションのための共通API •
2007年にGoogleが開発 • 国内ではMobage/GREE/mixiなどが実装 • WAP向けは日本独自の拡張
12.
OpenSocial WAP Extension ゲーム側ではproxyされたリクエストを処理して HTMLレスポンスを生成
13.
リクエストの認証 •
2-legged OAuthの仕様に準拠 • Gadgetサーバーがリクエストヘッダに access_tokenを付与 • access_tokenを元にAPIアクセスが可能 GET /index.aspx?opensocial_app_id=999999&opensocial_viewer_id=12345 HTTP/1.1 User-Agent: DoCoMo/2.0 N901iS(c100;TB;W24H12;ser12345;icc1234567890) Authorization: OAuth realm="",oauth_consumer_key="xxx",oauth_signature="I%2BI...
14.
APIの利用 • OpenSocial API
People / Message / Activity / AppData etc... • Game API Avatar / Payment / Ads / TextData etc... • Service Diary / Invite / Location etc...
15.
国内SNSプラットフォーム規模 • 会員数(2011年9月時点) • Mobage
: 3200万人 • GREE : 2700万人 • mixi : 2500万人
16.
2. 大規模サービスを支える
システム構成
17.
サービス規模 • 2010年2月よりゲーム提供を開始 • 提供タイトル:17本(2012年4月現在) •
会員数 : 1500万人 • 月間PV : 146億
18.
20,000
PV(単位:百万) ユーザ数(単位:千人) 15,000 10,000 5,000 0 2010/02 2010/08 2011/02 2011/08 2012/02
19.
Q. どれくらいのトラフィックが来るの?
20.
膨大なトラフィック量 • リリース後5時間で10万人が登録 • リリース後1ヶ月で100万人が登録 •
1タイトルで65万DAU(Daily Active User) • 3.5億PV/日(単純計算でも4000req/sec) • イベント開始直後に8万人同時アクセス
21.
クラスターにかかる負荷 • 同時セッション数:40万以上 • HTTPリクエスト:15万req/sec •
転送量:3Gbps (画像系は除く) • DBサーバー:ピークでは20万query/sec
22.
間違いなく国内でも最大規模!
23.
システム構成 •
開発言語:ASP.NET + C#(.NET Framework 4) • データベース:SQL Server 2008 R2 • Applicationサーバー:IIS7.5 • Load Balancer( Webサーバー):nginx • KVS(Key Value Store):memcached, Redis • 画像配信系:CDN + Varnish + nginx
24.
Q. なんでWindows使ってるの?
25.
システム構成の背景 • C#が好きだったから • でもMicrosoftが好きなわけではない •
最初は3人しかいなかった • 高トラフィックの情報が圧倒的に少ない • 結果Windows+Linuxのハイブリッド構成に
26.
IIS + ASP.NETは速い! (Linuxサーバーエンジニア談)
27.
インフラ構成
LoadBalancer nginx(LB) nginx(LB) ... • シンプルな構成 • 台数は1年半で IIS IIS IIS ... 1000台+に SQL Server ... memcached Redis
28.
1ゲームタイトルの規模例 • ロードバランサ:40台 • APサーバー:100台
FP用:40台、SP用:40台、Flash合成:20台 • memcached:4台、Redis:4台 • DBサーバー:3∼5台
29.
画像配信系
CDN(Akamai) • とにかくキャッシュ Varnish Varnish Varnish ... • スマホで画像も高解 像度化 nginx nginx nginx
30.
高トラフィックをさばくには 1) アプリケーションの最適化 2) キャッシュの活用 3)
DBチューニング & 処理の軽減 4) 今後に向けて
31.
1) アプリケーションの最適化
32.
APサーバー • ソーシャルゲームの処理はステートレス • スケールは比較的容易 •
手を抜いた実装はボトルネックに • 台数が多いためデプロイが手間
33.
実装上での心がけ • 冗長な処理をしない • データアクセスの最適化 •
処理の非同期化 • ページサイズの最適化(100KB制限) • C#でできることはC#で(LINQ使えば楽)
34.
冗長な処理のモニタリング • 1リクエスト内でのDBアクセス数 • KVSアクセス数 •
外部APIリクエスト数 • DataBind回数(WebFormなので‥)
35.
処理の非同期化 • 外部APIへのアクセスは非同期処理で PageAsyncTask
/ IHttpAsyncHandler • C# 5.0の非同期処理に期待(async/await)
36.
ASP.NET 4になって • ViewState制御の改善(ViewStateMode) •
アプリケーションプールの Auto-Start • ウォームアップ(IProcessHostPreloadClient) • カスタムOutputCacheProvider
37.
2) キャッシュの活用
38.
様々なキャッシュ • 変更のないマスタデータはオンメモリの DataTableに保持 •
HttpContext.Itemsの利用 • ASP.NET Cacheの利用 • @OutputCacheディレクティブ
39.
リクエスト毎 / プロセス毎
/ アプリ全体 あらゆる粒度でキャッシュを活用
40.
KVSキャッシュサーバーも積極利用
41.
3) DBチューニング &
処理軽減
42.
前提として・・ • 更新処理が非常に多い • ビッグデータ •
気づけば6億件を超えるテーブルも • ボトルネックは間違いなくDBになる • DB処理をいかにさばけるかが勝負
43.
DBの基本動作理解も大事 • Disk Readを発生させない •
シーケンシャル/ランダムアクセス • インデックス動作 • ソート処理 • チェックポイント処理
44.
DB負荷軽減のために • KVSの利用 • 垂直分割と水平分割 •
高速フラッシュストレージの導入
45.
KVS(Key Value Store)の利用 •
一意のkeyに対して任意のvalueを保存する データ管理システム • RDBMSに変わるNoSQLとして注目 • memcachedとRedisを利用
46.
memcached • オンメモリのハッシュテーブル • データの永続性はない •
読み込み/書き込みともに高速 • 複雑なデータ構造には向いていない • 利用実績が豊富
47.
Redis • memcachedよりも機能が充実 • 様々なデータ構造(List/Set/SortedSet/Hash) •
ディスクへの非同期書き込み • レプリケーション機能 • github/craigslist/digg/DISQUS/stackoverflow などで実績
48.
KVSの使いどころ • Expireする一時的なデータストアとして • 更新頻度の高いデータを管理
経験値 / スタミナ / 達成率 など • KVSを常時更新し、適切なタイミングでDB に書き込むケースも
49.
データの信頼性よりも トラフィックをさばくことの方が
圧倒的に重要
50.
DBの分割について • 垂直分割 テーブルを機能毎に分割
JOINはしない • 水平分割 同一テーブルをキーにより分割 Range Partitioning / Hash Partitioning
51.
DBのボトルネックはI/Oに • 行きつく所はほとんどがディスクI/O • CPU/DRAMの高速化、ストレージ大容量化 •
20年でCPUは数百万倍、ストレージは10倍 • 両者間のレイテンシが増大
52.
高速ストレージの導入 • PCIe型のSSDを導入(FusionIO社ioDrive) • 1.5K
SAS DIsk × 6本(RAID 10): 5,500 IOPS • ioDrive Duo × 1枚 : 120,000 IOPS • ioDrive Duo × 2枚(Striping): 200,000 IOPS
53.
近年のストレージは 進展が目覚ましい!
54.
さらに上を行く製品も • 2011/11 ioDrive
Octalを発表 • PCIe 2スロット 容量10TB • 1,300,000 IOPS • read性能 6.7GB/s write性能 3.9GB/sec
55.
4) 今後への取り組み
56.
今取り組んでいること • Windows Azureでの動作検証 •
SQL Azure Federationのスケーラビリティ • 海外展開するにはクラウド有利
57.
3. ソーシャルゲームの運用
58.
開発スタイル • 2年間で17タイトルをリリース • 開発期間は2ヶ月程度 •
サービスはリリースしてからが始まり
59.
継続的改善 • ideas→build→code→measure→data→learnの
繰り返し • Learn Fasterを心がける • 実装することが目的ではない • 最短命のアプリは1週間でクローズ
60.
運用スタイル • データ分析を重視した改善プロセス • 各種KPI数値
ex) DAU, ARPU, 継続率 • 動向把握を最速で(Monthly/Daily/Hourly) • 継続的デプロイ
61.
高速PDCAを実現する開発 • ドキュメントは書かない • 基本事項だけWikiに •
テーブル定義書もない • 動くものが最新仕様
62.
トラブルは尽きない... • サービスが急成長し続けている限り、未知 の問題は常に発生する •
ミスは必ず起こるが繰り返さなければ良い • 失敗を通じて成長していくカルチャー
63.
まとめ • ソーシャルゲームの概要を紹介 • システム構成と高トラフィックへの取り組
みを紹介 • ソーシャルゲームの運用スタイルを紹介
64.
最後にちょっとだけ宣伝
65.
C#エンジニア募集中! • 自社サービスの開発面白い! • C#イケてるよ!ってのを広めたい! •
Microsoft MVPも2名在籍中!
66.
ご清聴ありがとうございました
Jetzt herunterladen