Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ActionCable(Rails5) + Application Load Balancer...
Search
sutetotanuki
August 31, 2016
Programming
0
1.3k
ActionCable(Rails5) + Application Load BalancerでWebSocketをバランシング!
ActionCable(Rails5) + Application Load BalancerでWebSocketをバランシング!
sutetotanuki
August 31, 2016
Tweet
Share
More Decks by sutetotanuki
See All by sutetotanuki
Vercel AI SDK を使って Next.js で AIアプリケーションを 作成する方法のご紹介
sutetotanuki
0
1.5k
WEBエンジニア向けAI活用入門
sutetotanuki
0
790
ブラウザ上で実行され、 AIアシスタント付きデータベース postgres.new を触ってみた
sutetotanuki
0
370
今時のCookie事情
sutetotanuki
0
630
高速案件立ち上げで使われるマッハテンプレートのフロントエンド技術選定
sutetotanuki
2
1.8k
Core Web Vitals を改善する Next.js の機能群
sutetotanuki
1
2.4k
サーバーレスRDBの選択肢
sutetotanuki
0
1.5k
今日から始めるAmplify DataStore
sutetotanuki
0
1.3k
Kotlin Coroutine 基本的な使い方
sutetotanuki
0
790
Other Decks in Programming
See All in Programming
アーキテクチャと考える迷子にならない開発者テスト
irof
9
3.4k
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
170
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
2.1k
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
500
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
130
Level up your Gemini CLI - D&D Style!
palladius
1
130
モダンJSフレームワークのビルドプロセス 〜なぜReactは503行、Svelteは12行なのか〜
fuuki12
0
140
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
280
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
210
CSC305 Lecture 17
javiergs
PRO
0
200
チーム開発の “地ならし"
konifar
8
6.3k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
990
Bash Introduction
62gerente
615
210k
Code Review Best Practice
trishagee
72
19k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
GitHub's CSS Performance
jonrohan
1032
470k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Side Projects
sachag
455
43k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Statistics for Hackers
jakevdp
799
230k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
"DUJPO$BCMF "-#Ͱόϥϯγϯά
ࣗݾհ αʔόʔαΠυΤϯδχΞ ओʹ3BJMT Ϋϥεϝιουઌ݄ೖࣾ ݱࡏ།ҰͷେࡕۈϞόΠϧόοΫΤϯυάϧʔϓ ऐ͍͠ ઌʑिʹୈೋࢠ͕ੜ·Ε·ͨ͠
ࣗݾհ "84ษڧதʂ ͳͷͰͦͷลԹ͔͍ͰݟͯΒ͑Δͱɹ
͋ͬɺ͋ͱ࠷ۙ͜ΕʹϋϚΓ·ͨ͠
"DUJPO$BCMF "-#ͰόϥϯγϯάΛͬͯΈ·ͨ͠
"DUJPO$BCMFΞʔΩςΫνϟ
4PDLFUͷऔΓѻ͍
3BDLIJKBDLJOH"1*Λར༻͠ 4PDLFUΛ3BDL͔Βड͚औΓ "DUJPO$BCMFͰར༻͢Δ&WFOU-PPQʹొ͢Δ 3BDL "DUJPO$BCMF &WFOU-PPQ *0ΦϒδΣΫτ TPDLFU
ͦ͏͢Δ͜ͱͰ3BDLͷ ௨ৗΞϓϦέʔγϣϯͷॲཧͱ 8FC4PDLFUͷॲཧ͕ಉډͰ͖Δ
ϝοηʔδ৴
αʔόʔͷߏཁૉ 4VCTDSJCFS αʔόʔ 1VCMJTIFS αʔόʔ 1VC4VCαʔόʔ
ϢχΩϟετ class ChatChannel < ApplicationCable::Channel def some_method transmit(action: 'info', message:
"message") end end
1VC4VCαʔόʔ
1VC4VCαʔόʔ
1VC4VCαʔόʔ
ϒϩʔυΩϟετ ActionCable.server.broadcast "chat", "message"
1VC4VCαʔόʔ
1VC4VCαʔόʔ
1VC4VCαʔόʔ
1VC4VCαʔόʔ
1VC4VCαʔόʔ
"DUJPO$BCMFσϑΥϧτͰ1VC4VCͳͷͰ ԣʹฒͯσϒϩΠ͢Δ͚ͩͰ͋Δఔεέʔϧ͍ͯ͘͠
1VC4VCαʔόʔ 3FEJTɺ1PTUHSFTRM͔Β બՄೳ DPOpHDBCMFZNM production: adapter: postgresql(redis)
ࠓճͬͯΈͨܥͳͷͰ͓खܰ͞༏ઌͰ 3BJMTຊମ͕͏1PTUHSFTRM 3%4 Λ 1VC4VCαʔόʔͱͯ͠༻
"QQMJDBUJPO-PBE#BMBODFS
None
8FC4PDLFUΛ͏ʹ͋ͨͬͯ $MBTTJD&-#ͰͰ͖ͳͯ͘ɺ"-#ͰͰ͖Δ͜ͱ
Request: Connection: Upgrade Response Upgrade: websocket &-7W $MBTTJDͰ8FC4PDLFUͷ6QHSBEFʹ ඞཁͳϔομΛૹΔ͜ͱ͕Ͱ͖ͳ͔ͬͨ
&-7W ඵ σϑΥϧτ ແ௨৴͕ଓ͘ͱ λΠϜΞτ͞Εͨ
"-#Ͱ͜ΕΒͷ͕ղফ͞Ε ͙͢ʹ8FC4PDLFUΛ͏͜ͱ͕Ͱ͖Δ
"-#Ͱ-ʹରԠ͠ 8FC4PDLFUαʔόʔͱ ී௨ͷ8FCαʔόʔͱ1BUIͳͲͰ؆୯ʹ ৼΓ͚ΕΔΑ͏ʹͳͬͨ /html/* /socket/*
"-# "DUJPO$BCMFͳΒ ී௨ʹσϓϩΠͯ͠ԣʹฒΔ͚ͩͰ ͱΓ͋͑ͣόϥϯε͢Δʂ
%&.0 ͕࣌ؒ͋Ε
%&.0ͷߏ 8FC4PDLFU༻ͷΠϯελϯε )5.-Λฦ͢Πϯελϯε DBCMF ͦΕҎ֎ɹ
8F"SF)JSJOH େࡕࣄॴͰҰॹʹಇ͖·ͤΜ͔ʂʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠