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
リアルタイム通信を知る
Search
kosuke hino
October 10, 2024
Technology
0
99
リアルタイム通信を知る
リアルタイム通信を知る(勢いでスライド作ったせいでデザインがったがったやすまん)
kosuke hino
October 10, 2024
Tweet
Share
More Decks by kosuke hino
See All by kosuke hino
NotebookLMと散歩
kosukehino
0
21
hinoはhonoを知りたい
kosukehino
0
81
ポモドーロテクニック
kosukehino
0
37
誤差を知ろう
kosukehino
0
71
AtCoder Heuristic Contestを知っているか?
kosukehino
0
110
AIでスライド爆速生成!
kosukehino
0
140
Other Decks in Technology
See All in Technology
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.6k
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
220
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
220
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
500
Agent Skils
dip_tech
PRO
0
130
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
Tebiki Engineering Team Deck
tebiki
0
24k
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
190
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
How GitHub (no longer) Works
holman
316
140k
A better future with KSS
kneath
240
18k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Become a Pro
speakerdeck
PRO
31
5.8k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Producing Creativity
orderedlist
PRO
348
40k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
65
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
57
Transcript
リアルタイム通信を知る 2024/10/11 檜野浩輔
はじめに 最近のタスクの中でリアルタイム通信を考 える場面があったのと、前職で比較検討み たいな事をして技術選定したなーというの を思い出し、改めて自分の整理も兼ねて LT会の題材にしました。
ポーリング(主にajax) 定期的にクライアントからサーバーにHTTPでリク エストを送りレスポンスの内容に応じて定期的に 画面を更新する手法 メリット JSで定期的にリクエストを送るだけなので非常に 単純で実装が簡単です 最新情報がなくてもリクエストしてしまうのでク ライアント側は通信量が増え、サーバー側は負荷 が増えてしまいます
デメリット リアルタイム性はリクエストを送る間隔やレスポ ンスの速さに依存し本当のリアルタイムを求める には限界があります
ロングポーリング(comet) クライアントからサーバーにHTTPでリクエストを 送り更新があるまでサーバー側でリクエストを保 持し更新があった際にレスポンスする手法 メリット ポーリングであった更新がないのにリクエストを 送らないといけないという問題を解決出来る ロングポーリング用の通信を貼る事になるので短 時間で更新が複数回あると通信を張り直すまで更 新出来ず遅延する場合がある
デメリット ポーリングよりはリクエストは減るがそれでも、 更新の度にリクエストを送る必要がある
ServerSentEvents(SSE) ロングポーリングのデメリットを改善しレスポン スがあっても通信を張り直すことはせずその後も 通信を使い続ける手法 メリット ロングポーリングであった通信を張り直す必要が あった課題を解決し一度通信を張ったらそれを使 い続けることが出来る 片方向通信となりSSE内でクライアントからサー バーへpushする事が出来ない
デメリット HTTP通信を張り続けるのでCPU使用率に影響を与 える(詳しくはわからん)
WebSocket 双方向通信を可能とし専用の通信プロトコルを使 用する事により負荷を軽減する手法 メリット SSEと違い双方向通信が可能で、専用のプロコトル によりCPUへの負荷が軽い HTTPとは別のプロトコルになるので専用の実装が 必要になる デメリット HTTPよりヘッダーの容量がかなり少なく何回も更
新するような画面では通信量を削減する事が出来 る。特にボディが小さい場合に効果的
WebRTC P2Pで双方向通信を行う手法 メリット サーバーを介さないので、サーバーの負荷を軽減 できたりよりリアルタイムな通信を行えたりする サーバーを介さないのでサーバーに過去データを 保存しておく事が出来ない デメリット 特に通信容量が多いカメラ映像等のメディアをリ アルタイムで送受信する際に使われる(Zoomとか
Meetsとかとか)
WebRTC SFU WebRTCのP2Pの間にSFUサーバーを置くことで サーバーを介したWebRTCを可能にする手法 メリット サーバーを介すので過去ログを簡単に残す事が可 能 檜野もよく分かっていないしネットワーク等ミド ルウェアの知識がないと理解して使用する事が出 来ない
デメリット メディアの受信者が多くなった際にも送信側は サーバーにメディアを送るだけなので、ユーザー側 の負担が一定かつ軽くなる
おまけ + 紹介 https://x.com/voluntas/ status/1785608316087136304 上記のURLよりWebRTC SFUを使用した ソフトを提供している時雨堂さんが試され た1080pでの低遅延配信の様子が見れる 個人的に1080pでクライアントの負荷も少
なくリアルタイムで配信出来ている姿にす げーと思った
おまけ + 紹介 定期的に勉強会をやってくれている https://x.com/voluntas/ status/1838933732939673840