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
ActionCable(Rails5) + Application Load Balancer...
Search
sutetotanuki
August 31, 2016
Programming
0
1k
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
680
WEBエンジニア向けAI活用入門
sutetotanuki
0
510
ブラウザ上で実行され、 AIアシスタント付きデータベース postgres.new を触ってみた
sutetotanuki
0
220
今時のCookie事情
sutetotanuki
0
490
高速案件立ち上げで使われるマッハテンプレートのフロントエンド技術選定
sutetotanuki
2
1.5k
Core Web Vitals を改善する Next.js の機能群
sutetotanuki
1
2.1k
サーバーレスRDBの選択肢
sutetotanuki
0
1.3k
今日から始めるAmplify DataStore
sutetotanuki
0
1.2k
Kotlin Coroutine 基本的な使い方
sutetotanuki
0
710
Other Decks in Programming
See All in Programming
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
510
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1k
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
160
CI改善もDatadogとともに
taumu
0
200
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
200
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
8
2.4k
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
920
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
290
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
170
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
470
Better Code Design in PHP
afilina
0
170
color-scheme: light dark; を完全に理解する
uhyo
7
490
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
The Language of Interfaces
destraynor
156
24k
Building an army of robots
kneath
303
45k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Rails Girls Zürich Keynote
gr2m
94
13k
Faster Mobile Websites
deanohume
306
31k
Music & Morning Musume
bryan
46
6.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Unsuck your backbone
ammeep
669
57k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Why Our Code Smells
bkeepers
PRO
336
57k
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 େࡕࣄॴͰҰॹʹಇ͖·ͤΜ͔ʂʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠