Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Startup Issue Gym#3 -ネットワーク同期システムの置き換えで直面した課題
Search
whisky_shusuky
December 16, 2021
Programming
0
680
Startup Issue Gym#3 -ネットワーク同期システムの置き換えで直面した課題
こちらの登壇資料です
https://startup-issue-gym.connpass.com/event/229549/
whisky_shusuky
December 16, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
並行開発のためのコードレビュー
miyukiw
1
1.3k
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
620
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
130
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
630
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
150
Data-Centric Kaggle
isax1015
2
780
CSC307 Lecture 06
javiergs
PRO
0
690
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
260
Tell your own story through comics
letsgokoyo
1
810
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
330
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
750
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
99
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Exploring anti-patterns in Rails
aemeredith
2
260
Building AI with AI
inesmontani
PRO
1
710
Transcript
CONFIDENTIAL ©2021 Synamon Inc. ネットワーク同期システムの置き換えで直面した課題 2021年12月3日
CONFIDENTIAL ©2021 Synamon Inc. 会社紹介 2 ToB向けのXR(VR/AR)のソリューションを提供している企業になります VR(非現実空間を構成) AR(現実空間に投影)
CONFIDENTIAL ©2021 Synamon Inc. 会社紹介 3 VR/AR/MR企画・開発のSynamonと三 井住友海上が「VR事故車損害調査研 修」を共同開発
運営しているプラットフォームのNEUTRANSを 使用して事故車損害調査研修をVR空間で提 供しました。
CONFIDENTIAL ©2021 Synamon Inc. 会社紹介 4 現在ではNEUTRANSにこだわらずXR全般 (VR/AR)のソリューションを提供しています。 案件は紹介できませんがVarjoという高性能
VR/AR機器を使った体験会もやっていますの で興味有る方はご来社頂ければ体験できま す。 Synamon、フィンランドの高性能 VR/XRハードウェアVarjoの「Software Partner Program」に参画
CONFIDENTIAL ©2021 Synamon Inc. 自己紹介 うぃすきー(@whisky_shusuky) 文系大学 ↓ オンプレインフラエンジニア
データセンターに行って結線とかしてた ↓ ブログのプラットフォームの会社(Perl/Rails/Go) 2018年頃VRで遊ぶ動画をYoutubeで見かけてハマる ↓ SYNAMON 2021年1月入社 NEUTRANSがRailsを使っていたため応募した インフラ・バックエンド・フロントエンドとWeb周り全般を対応 5
CONFIDENTIAL ©2021 Synamon Inc. ネットワーク機能を置き換えられないか実験 NEUTRANSではネットワーク同期エンジンとしてPhotoCloudを使用し ている。アバターの手の動作などをクライアント間で同期するために使 用している。 ↓
入社したら別のエンジンのDiarkisに置き換えられないか実験していた。 6
CONFIDENTIAL ©2021 Synamon Inc. ネットワーク機能を置き換えられないか実験 サーバーの開発言語がGoで社内で Goを書けるのが私だけだったので入 社直後だったけど急遽対応した 7
CONFIDENTIAL ©2021 Synamon Inc. - 30人→100人接続人数増加させることができ るとのことでDiarkisの検証を行った - デフォルトでhttpサーバー経由でルーム作成
ができる - 既存のバックエンドとマイクロサービス的 に連携できた - カスタム実装も可能でルーム内の人数を 確認するAPIなどを自前で作成できた - UDPサーバーも自前で実装できる - クライアント間での同期用途でunixtime を返す機能を実装した - k8sでオートスケール設定できる Diarkis Diarkisの使用感 8 HTTP UDP 既存バックエンド (AWS Fargate) Unityクライ アント
CONFIDENTIAL ©2021 Synamon Inc. だが、、、 要件の問題でk8sを使えなかった 9
CONFIDENTIAL ©2021 Synamon Inc. - Unityクライアントからはルームが有るUDP サーバーのpublic ipに接続する -
Diarkisの仕様でk8sを使用するとipやportが変 動する - これは通常のオンラインゲーム開発などで家庭 からつなぐのであれば特に問題ない Diarkis k8sで問題が有った業務要件 10 UDP UDP Unityクライ アント ルーム 家庭
CONFIDENTIAL ©2021 Synamon Inc. - 弊社の顧客は大企業が多い - そのため社外への接続にはホワイトリストを設 定しているところが多い
- そのため全てのipやportに関するホワイトリスト をかけて欲しいと顧客に依頼することになって しまいマズイという話になった - 一般的なオンラインゲーム開発などのC向けの 製品では問題にならない部分でトラブルが発生 した Diarkis k8sで問題が有った業務要件 11 UDP UDP Unityクライ アント 企業NW ホワイトリスト ルーム
CONFIDENTIAL ©2021 Synamon Inc. - k8sは使わない - スケールアウトする度にEC2インスタン スを増やす形で対応
- UDPサーバーが増加する度にRoute53 にてudp-*.sample.com:8000の形式で UDPサーバーへ接続されるAレコードを 追加する Diarkis 対応策 12 UDP2 Route53 udp-1.sample.com:8000 A UDP1のIP udp-2.sample.com:8000 A UDP2のIP UDP1
CONFIDENTIAL ©2021 Synamon Inc. 企業NW - 顧客にはudp-*.sample.com:8000のホ ワイトリストのみ追加で開けるように依頼 する
Diarkis 対応策 13 UDP2 Unityクライ アント ホワイトリスト udp-1.sample.com:8000へのUDPを許可 Route53 udp-1.sample.com:8000 A UDP1のIP udp-2.sample.com:8000 A UDP2のIP UDP1
CONFIDENTIAL ©2021 Synamon Inc. まとめ - Diarkis自体は自由度高く開発できる - NEUTRANS以外のToC案件があればk8sを使ってオートス
ケールするようにも対応できるであろう 14
CONFIDENTIAL ©2021 Synamon Inc. 採用 採用募集中です! WantedlyでSYNAMONで検索! 15 Meetyで質問・相談も受け付けてま
す!
None