Submit Search
Upload
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
•
3 likes
•
996 views
T
techgamecollege
Follow
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
Read less
Read more
Technology
Report
Share
Report
Share
1 of 121
Download now
Download to read offline
Recommended
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
GPU最適化入門
GPU最適化入門
Takahiro KOGUCHI
Recommended
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
GPU最適化入門
GPU最適化入門
Takahiro KOGUCHI
RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」
KLab Inc. / Tech
JIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだ
Narichika Kajihara
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
Epic Online Services でできること
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
MagicOnion入門
MagicOnion入門
torisoup
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
KLab Inc. / Tech
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
Unity Technologies Japan K.K.
Docker Tokyo
Docker Tokyo
cyberblack28 Ichikawa
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
目grep入門 +解説
目grep入門 +解説
murachue
test
test
WentingLiu4
LISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
Brendan Gregg
More Related Content
What's hot
RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」
KLab Inc. / Tech
JIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだ
Narichika Kajihara
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
Epic Online Services でできること
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
MagicOnion入門
MagicOnion入門
torisoup
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
KLab Inc. / Tech
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
Unity Technologies Japan K.K.
Docker Tokyo
Docker Tokyo
cyberblack28 Ichikawa
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
目grep入門 +解説
目grep入門 +解説
murachue
What's hot
(20)
RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」
JIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだ
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Epic Online Services でできること
Epic Online Services でできること
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
MagicOnion入門
MagicOnion入門
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
Docker Tokyo
Docker Tokyo
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
目grep入門 +解説
目grep入門 +解説
Similar to 【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
test
test
WentingLiu4
LISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
Brendan Gregg
Performance Risk Management
Performance Risk Management
Viswanath Chittoory
WebRTC for Managers!
WebRTC for Managers!
Amitesh Madhur
Linux Performance 2018 (PerconaLive keynote)
Linux Performance 2018 (PerconaLive keynote)
Brendan Gregg
ATO Linux Performance 2018
ATO Linux Performance 2018
Brendan Gregg
Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例
Kazuhito Ohkawa
Debugging linux issues with eBPF
Debugging linux issues with eBPF
Ivan Babrou
Compile ahead of time. It's fine?
Compile ahead of time. It's fine?
Dmitry Chuyko
Big Data & Hadoop
Big Data & Hadoop
Software Infrastructure
[INSIGHT OUT 2011] A23 database io performance measuring planning(alex)
[INSIGHT OUT 2011] A23 database io performance measuring planning(alex)
Insight Technology, Inc.
Ficstar Software: Cassandra Installation to Optimization
Ficstar Software: Cassandra Installation to Optimization
DataStax Academy
YOW2020 Linux Systems Performance
YOW2020 Linux Systems Performance
Brendan Gregg
Debugging Ruby
Debugging Ruby
Aman Gupta
A close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issues
Riyaj Shamsudeen
vBACD - Introduction to Opscode Chef - 2/29
vBACD - Introduction to Opscode Chef - 2/29
CloudStack - Open Source Cloud Computing Project
16aug06.ppt
16aug06.ppt
zagreb2
Top-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
Tier1 app
Особенности архитектуры и траблшутинга маршрутизаторов серии ASR1000
Особенности архитектуры и траблшутинга маршрутизаторов серии ASR1000
Cisco Russia
Building scalable web socket backend
Building scalable web socket backend
Constantine Slisenka
Similar to 【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
(20)
test
test
LISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
Performance Risk Management
Performance Risk Management
WebRTC for Managers!
WebRTC for Managers!
Linux Performance 2018 (PerconaLive keynote)
Linux Performance 2018 (PerconaLive keynote)
ATO Linux Performance 2018
ATO Linux Performance 2018
Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例
Debugging linux issues with eBPF
Debugging linux issues with eBPF
Compile ahead of time. It's fine?
Compile ahead of time. It's fine?
Big Data & Hadoop
Big Data & Hadoop
[INSIGHT OUT 2011] A23 database io performance measuring planning(alex)
[INSIGHT OUT 2011] A23 database io performance measuring planning(alex)
Ficstar Software: Cassandra Installation to Optimization
Ficstar Software: Cassandra Installation to Optimization
YOW2020 Linux Systems Performance
YOW2020 Linux Systems Performance
Debugging Ruby
Debugging Ruby
A close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issues
vBACD - Introduction to Opscode Chef - 2/29
vBACD - Introduction to Opscode Chef - 2/29
16aug06.ppt
16aug06.ppt
Top-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
Особенности архитектуры и траблшутинга маршрутизаторов серии ASR1000
Особенности архитектуры и траблшутинга маршрутизаторов серии ASR1000
Building scalable web socket backend
Building scalable web socket backend
Recently uploaded
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Boston Institute of Analytics
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
V3cube
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Recently uploaded
(20)
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
1.
1 TECH×GAME COLLEGE#32
2.
2
3.
3 2007 6 13 XR
(VR, AR, MR )
4.
▸ ▸ 2011 ▸ 2015
R&D 4
5.
5 , , ,
6.
ARK ArkPubSub Server 6
7.
7 2 VS 2
8.
8
9.
9
10.
10 1 VS 1 2
?
11.
11 2 COPY COPY 4
12.
▸ ▸ 12 . OS
13.
13
14.
14
15.
15
16.
16 HTTP API
17.
17
18.
18
19.
19
20.
20 COPY COPY
21.
21 COPY COPY
22.
▸ ▸ ▸ ▸ 22
23.
▸ ▸ ▸ ▸ ▸ ▸ 23
24.
24
25.
25
26.
26
27.
27 , 1
28.
28
29.
29 COPY COPY
30.
30 COPY COPY
31.
31 COPY COPY
32.
32
33.
33
34.
34
35.
35
36.
36
37.
▸ ▸ ▸ 37
38.
38
39.
▸ ▸ ▸ ▸ ▸ 39
40.
40
41.
41
42.
▸ ▸ ▸ ▸ 42
43.
▸ ▸ ▸ ▸ ▸ 43
44.
44 /CHATROOM/AAA A B C D PubSub Subscribe
45.
45 /CHATROOM/AAA A B C D PubSub Publish
46.
46 /CHATROOM/AAA /TOPIC/BBB A B C D PubSub Subscribe
47.
47 A B C D PubSub Publish /CHATROOM/AAA /TOPIC/BBB
48.
▸ ▸ ▸ 48
49.
Room/1234 A B C PubSub Topic
50.
Room/1234 Room/1234/User/A A B C PubSub Room/1234/User/B Room/1234/User/C Topic
51.
Room/1234 Room/1234/User/A A B C PubSub Room/1234/User/B Room/1234/User/C Topic Topic Subscribe Room/1234/User/D D
52.
▸ ▸ ▸ 52
53.
▸ ▸ ▸ 53
54.
▸ ▸ ▸ ▸ 54
55.
55 ranch ErlangVM
56.
56 ranch ErlangVM session <0.99.0>
57.
57 ranch ErlangVM session <0.99.0> Topic/AA <0.80.0>ETS
58.
58 ranch session <0.99.0> ErlangVM Write <0.99.0> Topic/AA
<0.80.0>ETS
59.
59 ranch ErlangVM Topic/AA <0.80.0>, <0.99.0> session <0.99.0> ETS
60.
ranch ErlangVM Topic/AA <0.80.0>, <0.99.0> session <0.99.0> ETS 60
61.
61 ranch session <0.99.0> ErlangVM link Topic/AA <0.80.0>,
<0.99.0> Read session <0.80.0> Send ETS
62.
62 ranch session <0.99.0> ErlangVM link Topic/AA <0.80.0>,
<0.99.0> Read session <0.80.0> Send ETS
63.
63
64.
64
65.
▸ ▸ ▸ ▸ 65
66.
66 1bit 16 MsgType DUP
QoS Retain length MSB LSB Payload Protocol Version User Name Pass word Will retain Will QoS Will Clean session Keepalive MSB Keepalive LSB
67.
▸ ▸ ▸ 67
68.
▸ ▸ ▸ ▸ 68
69.
69 1 bit 16
32 Type ( ) Length ( ) SenderTimestamp ( ) ※ ReceiverTimesamp ( ) ※ Payload ( )
70.
70 1 16 32 SectionType
SectionLength Value
71.
71 1 16 32 Type
Length SenderTimestamp ReceiverTimesamp Payload
72.
72 1 16 32 Type
Length SenderTimestamp ReceiverTimesamp SectionType SectionLength Value
73.
73 1 16 32 Type
Length SenderTimestamp ReceiverTimesamp SectionType SectionLength Value SectionType SectionLength Value
74.
▸ ▸ ▸ 74
75.
75 CONNECT / CONNECT
TOKEN RECONNECT TOKEN CONNACK SUCCESS CONNACK FAILED / CONNACK FAILED UNAVAILABLE etc DISCONNECT SUBSCRIBE UNSUBSCRIBE PUBLISH / PUBLISH ASYNC PUBLISHED / PUBLISHED ASYNC INFO SUBSCRIBER REQUEST RTT NOTIFY START / RTT NOTIFY STOP MESSAGE ACK RESEND REQUEST PING REQUEST / PING RESPONSE TIME REQUEST / TIME RESPONSE DGRAM SETUP REQUEST / DGRAM SETUP REQUEST RECEIVED / DGRAM SETUP COMPLETE DGRAM REFRESH / DGRAM RE-SETUP REQUEST DGRAM DISCONNECT ADD SUBSCRIBER / REMOVE SUBSCRIBER SUBSCRIBE PERMISSION ERROR / PUBLISH PERMISSION ERROR INFO SUBSCRIBER INFO CLIENT RTT
76.
76 1 16 32 Type:
Subscribe (0x0400) Length SenderTimestamp ReceiverTimesamp SectionType: MessageID (0x0400) SectionLength: 0x0004 Value: 0x00000001 SectionType: Topic (0x0002) SectionLength Value: topic/AAA (UTF-8)
77.
▸ ▸ ▸ 77
78.
78 1 bit 16
32 Type ( ) Length ( ) SenderTimestamp ( ) ※ ReceiverTimesamp ( ) ※ Payload ( )
79.
79 Client Timer Timer1ms 1000ms Sender 1 Receiver 301 1300ms 321ms PubSub 300ms
80.
80 Client Timer Timer 1 1000 Sender Receiver 1
0 ※ Sender Receiver 1300 301 1300 321 421 Sender Receiver 421 1400 1420 521 1520Sender Receiver 521 1500 PubSub
81.
▸ ▸ 81
82.
82
83.
83
84.
▸ ▸ ▸ ▸ ▸ 84
85.
85 ELB App Job MQ Batch log
86.
▸ ▸ ▸ ▸ 86
87.
87 PubSub App Battle HTTP API Ark
88.
88 App 1. game start
API 2. IP:Port, Token, Topic 3. Connect Token 4. Token 5. OK 6. OK
89.
HW 89
90.
90 App PubSub PubSub PubSub HTTP API A 2019-01-01
00:00:00 alive B 2019-01-01 00:00:00 alive C 2019-01-01 00:00:00 alive -4 sec -4 sec -4 sec (5 1 ) API API RDBMS ,
91.
91 App PubSub PubSub PubSub HTTP API A 2019-01-01
00:00:00 dead B 2019-01-01 01:00:00 alive C 2019-01-01 01:00:00 aliveA B C -3604 sec -4 sec -4 sec
92.
92 App PubSub PubSub PubSub HTTP API A 2019-01-01
00:00:00 dead B 2019-01-01 01:00:00 alive C 2019-01-01 01:00:00 aliveA B C -3604 sec -4 sec -4 sec
93.
93 App PubSub PubSub PubSub HTTP API A 2019-01-01
00:00:00 dead B 2019-01-01 01:00:00 alive C 2019-01-01 01:00:00 aliveA B C -3604 sec -4 sec -4 sec
94.
94 App PubSub PubSub PubSub HTTP API A 2019-01-01
00:00:00 dead B 2019-01-01 01:00:00 alive C 2019-01-01 01:00:00 aliveA B C -3604 sec -4 sec -4 sec
95.
▸ 95
96.
96 App Connection 1. heartbeat 2.
OK Server A Server B RoomA Server A
97.
97 App Connection 1. heartbeat 2.
OK Server A Server B RoomA Server A
98.
98 App 1. RoomA Server? 2.
Server B IP, Port … Server A Server B RoomA Server B Connection
99.
A 99
100.
100 App Connection 1. heartbeat 2.
OK Server A Server B RoomA Server A
101.
101 App Connection 1. heartbeat 2.
OK Server A Server B RoomA Server A 1. RoomA Server? 2. Server B IP, Port …
102.
102 App Connection 1. heartbeat 2.
OK Server A Server B RoomA Server B 1. RoomA Server? 2. Server B IP, Port … Connection
103.
▸ ▸ ▸ ▸ 103
104.
104
105.
▸ ▸ ▸ ▸ ▸ 105
106.
▸ ▸ ▸ ▸ ▸ 106
107.
107 Locust Slaves x8 Locust Master m4.2xlarge CPU:
8 RAM: 32GB m4.xlarge CPU: 4 RAM: 16GB PubSub
108.
108 PubSub 1 1 8 x
8 = 64
109.
109 user/room 8 message/user/sec 0.2
waittime[ms]5000 rooms 100 1000 2000 3000 3500 3750 ( ) users 800 8000 16000 24000 28000 30000 ( ) message/sec 1280 12800 25600 38400 44800 48000 ( ) message/sec 1270 12783 25560 38328 44787 21054 (Server)CPU [%] 66.5 360.4 404.7 560.9 635.8 444.4 (Server)RAM [%] 0.6 2.4 3.7 6.2 7.2 16.5 RTT Med [ms] 1 2 5 12 19 34 RTT Avg [ms] 14 11 12 14 27 1260 RTT Max [ms] 44 49 75 356 536 62798 End to End Med [ms] 1 3 8 18 39 460 End to End Avg [ms] 2 12 13 21 50 3017 End to End Max [ms] 747 738 754 1003 1315 100979 66.5 360.4 404.7 560.9 635.8 444.4 1270 12783 25560 38328 44787 21054 0 100 200 300 400 500 600 700 800 0 10000 20000 30000 40000 50000 60000 70000 80000 800 8000 16000 24000 28000 30000 8user/room 1msg/5s (Server)CPU [%] ( ) message/sec
110.
110 user/room 8 message/user/sec 1
waittime[ms]1000 rooms 100 400 800 900 1000 ( ) users 800 3200 6400 7200 8000 ( ) message/sec 6400 25600 51200 57600 64000 ( ) message/sec 6360 25527 48195 53240 25154 (Server)CPU [%] 275.8 618.3 709.3 774.7 766.7 (Server)RAM [%] 0.5 1.1 2.7 3 11.2 RTT Med [ms] 1 1 5 12 5 RTT Avg [ms] 10 7 24 40 494 RTT Max [ms] 45 48 491 1100 34295 End to End Med [ms] 2 11 36 80 310 End to End Avg [ms] 10 13 54 120 970 End to End Max [ms] 554 550 981 2923 44120 275.8 618.3 709.3 774.7 766.7 6360 25527 48195 53240 25154 0 100 200 300 400 500 600 700 800 0 10000 20000 30000 40000 50000 60000 70000 80000 800 3200 6400 7200 8000 8user/room 1msg/s (Server)CPU [%] ( ) message/sec
111.
111 user/room 8 message/user/sec 15
waittime[ms]66.6666666666667 rooms 10 50 70 80 90 100 ( ) users 80 400 560 640 720 800 ( ) message/sec 9600 48000 67200 76800 86400 96000 ( ) message/sec 9096 46047 58600 60764 63539 26390 (Server)CPU [%] 229.8 694.7 776.6 775.6 787.9 786.2 (Server)RAM [%] 0.4 0.5 0.6 0.7 0.7 8 RTT Med [ms] 38 2 7 10 15 24 RTT Avg [ms] 30 14 15 17 23 194 RTT Max [ms] 45 67 93 122 522 20686 End to End Med [ms] 19 19 24 33 46 73 End to End Avg [ms] 18 21 27 37 50 293 End to End Max [ms] 618 631 657 718 1231 39470 229.8 694.7 776.6 775.6 787.9 786.2 9096 46047 58600 60764 63539 26390 0 100 200 300 400 500 600 700 800 0 10000 20000 30000 40000 50000 60000 70000 80000 80 400 560 640 720 800 8user/room 15msg/s (Server)CPU [%] ( ) message/sec
112.
TCP 5 MESSAGE /
SEC 112
113.
▸ ▸ 113
114.
▸ ▸ ▸ 114
115.
115 user/room 8 message/user/sec 0.2
waittime[ms]5000 rooms 100 2000 3750 6250 7500 8750 ( ) users 800 16000 30000 50000 60000 70000 ( ) message/sec 1280 25600 48000 80000 96000 112000 ( ) message/sec 1281 25639 48124 78742 94555 97731 (Server)CPU [%] 46.9 312.2 426.8 625 723.2 718 (Server)RAM [%] 2 6.8 9.8 14 17.3 18.7 1281 25639 48124 78742 94555 97731 0 100 200 300 400 500 600 700 800 0 20000 40000 60000 80000 100000 120000 140000 160000 800 16000 30000 50000 60000 70000 8user/room 1msg/5s (Server)CPU [%] ( ) message/sec
116.
116 user/room 8 message/user/sec 1
waittime[ms]1000 rooms 100 400 800 1000 1200 1400 1600 ( ) users 800 3200 6400 8000 9600 11200 12800 ( ) message/sec 6400 25600 51200 64000 76800 89600 102400 ( ) message/sec 6356 25472 51202 63890 75912 88143 99033 (Server)CPU [%] 139.4 269.1 425 500.3 625.8 699.2 765.3 (Server)RAM [%] 2 3.6 5 5 5.2 5.2 6.6 6356 25472 51202 63890 75912 88143 99033 0 100 200 300 400 500 600 700 800 0 20000 40000 60000 80000 100000 120000 140000 160000 800 3200 6400 8000 9600 11200 12800 8user/room 1msg/s (Server)CPU [%] ( ) message/sec
117.
117 user/room 8 message/user/sec 15
waittime[ms]66.6666666666667 rooms 10 50 70 80 90 100 110 120 130 140 ( ) users 80 400 560 640 720 800 880 960 1040 1120 ( ) message/sec 9600 48000 67200 76800 86400 96000 105600 115200 124800 134400 ( ) message/sec 8912 45967 64648 74035 83211 91581 99596 106775 112889 116739 (Server)CPU [%] 161.5 374.2 489.7 535.8 582.1 632.1 666.4 703.7 726.9 784.7 (Server)RAM [%] 2.1 2.3 2.3 2.3 2.3 2.2 1.8 2.6 3 3.4 8912 45967 64648 74035 83211 91581 99596 106775 112889 116739 0% 100% 200% 300% 400% 500% 600% 700% 800% 0 20000 40000 60000 80000 100000 120000 140000 10 50 70 80 90 100 110 120 130 140 8user/room 15msg/s (Server)CPU [%] ( ) message/sec
118.
10 MESSAGE /
SEC 118
119.
▸ ▸ ▸ ▸ 119
120.
▸ ▸ ▸ 120
121.
121
Download now