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
配信システムをFlashからWebRTCにリプレイスしている話
Search
korin-tatsuya
December 12, 2019
Technology
0
1.4k
配信システムをFlashからWebRTCにリプレイスしている話
korin-tatsuya
December 12, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
Ultra Ethernet (UEC) v1.0 仕様概説
markunet
3
250
EMからVPoEを経てCTOへ:マネジメントキャリアパスにおける葛藤と成長
kakehashi
PRO
9
1.6k
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
4
1.8k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
8
7.2k
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1.7k
Shifting from MCP to Skills / ベストプラクティスの変遷を辿る
yamanoku
4
790
ランサムウエア対策してますか?やられた時の対策は本当にできてますか?AWSでのリスク分析と対応フローの泥臭いお話。
hootaki
0
110
作りっぱなしで終わらせない! 価値を出し続ける AI エージェントのための「信頼性」設計 / Designing Reliability for AI Agents that Deliver Continuous Value
aoto
PRO
2
270
マルチロールEMが実践する「組織のレジリエンス」を高めるための組織構造と人材配置戦略
coconala_engineer
3
710
Claude Codeの進化と各機能の活かし方
oikon48
21
12k
Evolution of Claude Code & How to use features
oikon48
1
580
EMからICへ、二周目人材としてAI全振りのプロダクト開発で見つけた武器
yug1224
5
530
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
540
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
180
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
How to Ace a Technical Interview
jacobian
281
24k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
82
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
140
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Transcript
© DMM.com CONFIDENTIAL © DMM.com 配信システムをFlashから WebRTCにリプレイスしている DMM Meetup in
金沢 EC&デジタルコンテンツ本部 香林辰哉 2019/12/12 話
© DMM.com 自己紹介 • 香林 辰哉(こうりん たつや) • 2012年4月入社 •
ライブ配信システムの開発、保守 ( Flash / Javascript ) • 2018年からリプレイス案件に参加 スノーボードの時期が来た 2
© DMM.com • 1対多で映像を視聴するサービス • チャット機能 • 1対1でのビデオチャット機能も搭載 ライブ配信システム 3
• 遅延が品質に大きく影響する
© DMM.com 2020年問題 4 • Adobe Flashが2020年末ブラウザサポート終了 • Flashにかわるシステムの構築が急務 •
段階的に終了に向けて進んでいる • 配信:WebRTC • フロント:HTML5 + Javascript
© DMM.com WebRTC 5 • Web Real-Time Communication • ブラウザ上でビデオチャットが出来る技術
• 各種ブラウザが徐々に対応してきた • 遅延が1秒未満
© DMM.com デモ 6 受信 送信
© DMM.com 基盤リプレイスは大変…! 7 • 約3年にわたる大規模プロジェクト • プロジェクトを成功させるための工夫 • 開発手法
• 技術
© DMM.com 開発の 8 話
© DMM.com スクラム開発 9 • 開発 → テストを細かく回す • 1週間スプリントで都度軌道修正
• 業務を分担して対応 • フロントエンド開発メンバー • バックエンド開発メンバー
© DMM.com • スクラムイベントは変則的 • チーム間の連携も都度行う LeSS(Large-Scale Scrum) 10 •
六本木と金沢でそれぞれチームを編成 • 複数のプロダクトを並行で作っていける • 六本木とは常時映像共有 • チーム間の代表者が集まるイベントも
© DMM.com 開発の様子 11
© DMM.com スクラムイベントの様子 12
© DMM.com 技術的な 13 話
© DMM.com フロントエンド 14 • 言語:TypeScript & ES2015+ • FW:React
+ Redux • テスト:Jest + Enzyme • フォーマッタ:ESLint + Prettier • UI:Storybook、Atomic Design
© DMM.com Storybook 15
© DMM.com • APIサーバ:PHP + Laravel • DB、Webサーバは既存のものを利用 バックエンド 16
• AWS上で構築 • EC2 / ECS / S3 / ElastiCache / Lambda Elasticsearch Service / Cloud Front Route 53 / VPC / API Gateway
© DMM.com 今後の 17 話
© DMM.com • 来年度もリプレイス作業は続く 今後の予定 18 • 年明け以降のリリースに向けて最終調整中! • β版としてFlash版と並行稼動
• スマホ対応 • 正式リリース etc...