Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Startup Issue Gym#3 -ネットワーク同期システムの置き換えで直面した課題
Search
whisky_shusuky
December 16, 2021
Programming
760
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Startup Issue Gym#3 -ネットワーク同期システムの置き換えで直面した課題
こちらの登壇資料です
https://startup-issue-gym.connpass.com/event/229549/
whisky_shusuky
December 16, 2021
Other Decks in Programming
See All in Programming
Event is what happens
moro
2
860
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
320
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
280
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Prompt Engineering for Job Search
mfonobong
0
520
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Chasing Engaging Ingredients in Design
codingconduct
0
360
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Code Review Best Practice
trishagee
74
20k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Between Models and Reality
mayunak
4
500
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
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