SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
ステートレスから一周回ってステートフルへ
     - WebSocketとか -
 2012/05/25 松本勉強会
ファーストサーバ第II技術G




                    Page 1 / 7
Infomation
 Id:sawanoboly
 HiganWorks LLCの代表をやっています

 Giraffiを作り続けています
 ※本日はコレ向けに調査した内容をネタに出張版
 最近ZCloud利用(検討)者のコンサルも始めました

 一緒に働いてくれる人も(ゆるく)募集中!

※このスライドは第二回松本勉強会にLT参加した際の資料です、配布了承済み。


                                   Page 2 / 7
HTTPのステートレスおさらい
 1リクエストに1レスポンスで完結!


GET / HTTP/1.1                  HTTP/1.1 200 OK
User-Agent: curl/7.22.0         Content-Type:
Host: www.example.com           text/html;charset=utf-8
Accept: */*                     Content-Length: 8

                                Body...



                           コネクション
                          ここでおしまい




                                                          Page 3 / 7
HTTPで困ること
 双方向のデータ交換にあまり向いていない
   送信にHTTPのリクエストがまるまる必要、ヘッダが無駄
 需要の高まってきたリアルタイム通信に弱い
   Pushが弱い、クライアント判別に苦労
   クライアント同士でチャット等に壊滅的
   ポーリング?Commet? Stremingなど工夫の実装はある
   も一方通行

       リアルタイム通信や、サーバサイドPushの需要には
       ステートフルデータ交換の対応が必要

※『FSではステートフルなSMTPもFTPも使こうとるよ?』というのは
 置いといてください


                                      Page 4 / 7
WebSocketってどんなプロトコル?
 HTML5で仕様固められていたがやっぱり別のプロト
 コルとして独立。
 HTTP1.1のUpgradeを利用して、データ交換プロト
 コルをHTTPからWebSocketに更新してつかいます。
 ※HTTPと同じポートで使えるのが最大のメリット。

 平たく言うと、HTTPぽくコネクションしてからの
 Telnet!

※GiraffiのモニタリングデータはWebSocketを使い、リアルタイムでPush
されるようになる(予定)


                                        Page 5 / 7
WebSocketコネクション
GET / HTTP/1 1             HTTP/1 1 101
Upgrade: WebSocket          WebSocket Protocol Handshake
Connection: Upgrade        Upgrade: WebSocket
Host: www.example.com      Connection: Upgrade
Origin:                    Sec-WebSocket-Location:
 http:// www.example.com    ws:// www.example.com /
Sec-WebSocket-Key1:        Sec-WebSocket-Origin:
 ******==                   http:// www.example.com
Sec-WebSocket-Key2:
 ******==
                                WebSocketコネクション確立




               これ以降は双方向でデータの交換が可能
               <ー[データ開始]データ[データ終端]ー>


                                                    Page 6 / 7
HTTPと見せかけてのTCPコネクション
従来のHTTP向けのロードシェアや、キャパシティ
計算にもう一要素が必要。
=>L4の取り回しを考慮する
ESTABLISHEDのTCPコネクション
  無通信時、切断等の制限は? (仕様では切断なし)
  L4ロードバランサのは以下では?
  ex. AmazonのELB (60s)


今後一般向けでリアルタイム需要は近い?

              to be continued...
                                   Page 7 / 7

Weitere ähnliche Inhalte

Was ist angesagt?

Mongo db勉強会の補足
Mongo db勉強会の補足Mongo db勉強会の補足
Mongo db勉強会の補足CROOZ, inc.
 
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersDb tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersHiroaki Kubota
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会otmb
 
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsCasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsNaoki Sega
 
ストリーム処理エンジン「Zero」の開発と運用
ストリーム処理エンジン「Zero」の開発と運用ストリーム処理エンジン「Zero」の開発と運用
ストリーム処理エンジン「Zero」の開発と運用Eiichi Sato
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村Koichi Uchimura
 
Web Packaging - Use cases and Loading
Web Packaging - Use cases and LoadingWeb Packaging - Use cases and Loading
Web Packaging - Use cases and LoadingKinuko Yasuda
 
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)Ryuji Tamagawa
 
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムMongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムHitoshi Asai
 
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?Hiroaki Kubota
 
W3C yokohama-forum-2012-03-kojiishi
W3C yokohama-forum-2012-03-kojiishiW3C yokohama-forum-2012-03-kojiishi
W3C yokohama-forum-2012-03-kojiishiKoji Ishii
 
HTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリHTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリYossy Taka
 
最近のクラウドストレージの事情と私情
最近のクラウドストレージの事情と私情最近のクラウドストレージの事情と私情
最近のクラウドストレージの事情と私情Atsushi Hayakawa
 
WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)stmkza
 
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~Akihiro Kuwano
 
Casual Compression on MongoDB
Casual Compression on MongoDBCasual Compression on MongoDB
Casual Compression on MongoDBmoai kids
 
汎用apiサーバの構築
汎用apiサーバの構築汎用apiサーバの構築
汎用apiサーバの構築Hidetoshi Mori
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろうCROOZ, inc.
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 

Was ist angesagt? (20)

Mongo db勉強会の補足
Mongo db勉強会の補足Mongo db勉強会の補足
Mongo db勉強会の補足
 
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersDb tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
 
初めてのMongo db
初めてのMongo db初めてのMongo db
初めてのMongo db
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsCasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用Tips
 
ストリーム処理エンジン「Zero」の開発と運用
ストリーム処理エンジン「Zero」の開発と運用ストリーム処理エンジン「Zero」の開発と運用
ストリーム処理エンジン「Zero」の開発と運用
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
 
Web Packaging - Use cases and Loading
Web Packaging - Use cases and LoadingWeb Packaging - Use cases and Loading
Web Packaging - Use cases and Loading
 
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
 
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムMongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
 
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
 
W3C yokohama-forum-2012-03-kojiishi
W3C yokohama-forum-2012-03-kojiishiW3C yokohama-forum-2012-03-kojiishi
W3C yokohama-forum-2012-03-kojiishi
 
HTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリHTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリ
 
最近のクラウドストレージの事情と私情
最近のクラウドストレージの事情と私情最近のクラウドストレージの事情と私情
最近のクラウドストレージの事情と私情
 
WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)
 
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~
 
Casual Compression on MongoDB
Casual Compression on MongoDBCasual Compression on MongoDB
Casual Compression on MongoDB
 
汎用apiサーバの構築
汎用apiサーバの構築汎用apiサーバの構築
汎用apiサーバの構築
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 

Ähnlich wie 20120525 mt websocket

WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketYu Nobuoka
 
ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?Kengo Nakajima
 
世界一速い他人のふんどしを使ったタイルサーバ
世界一速い他人のふんどしを使ったタイルサーバ 世界一速い他人のふんどしを使ったタイルサーバ
世界一速い他人のふんどしを使ったタイルサーバ Naoshi Tabuchi
 
Webrtc最新動向
Webrtc最新動向Webrtc最新動向
Webrtc最新動向Yusuke Naka
 
20110622 haruyama webso]cket
20110622 haruyama webso]cket20110622 haruyama webso]cket
20110622 haruyama webso]cketMakoto Haruyama
 
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_bYahoo!デベロッパーネットワーク
 
websocket-survery
websocket-surverywebsocket-survery
websocket-surveryhogemaru_
 
Lesson01
Lesson01Lesson01
Lesson01MRI
 
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WANInterop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WANShuheiUda
 
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ SEGADevTech
 
IETF93 Prague報告Web関連+QUIC
IETF93 Prague報告Web関連+QUICIETF93 Prague報告Web関連+QUIC
IETF93 Prague報告Web関連+QUICKaoru Maeda
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策Kensaku Komatsu
 
HttpとTelnetをつなぐ何か
HttpとTelnetをつなぐ何かHttpとTelnetをつなぐ何か
HttpとTelnetをつなぐ何かShigekiYamada
 
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説You_Kinjoh
 
吾輩はコンテンツ事業者である 楽天編
吾輩はコンテンツ事業者である 楽天編吾輩はコンテンツ事業者である 楽天編
吾輩はコンテンツ事業者である 楽天編Rakuten Group, Inc.
 
透過 L2 BRIDGE NAT
透過 L2 BRIDGE NAT透過 L2 BRIDGE NAT
透過 L2 BRIDGE NATh-otter
 
これから利用拡大?WebSocket
これから利用拡大?WebSocketこれから利用拡大?WebSocket
これから利用拡大?WebSocketAdvancedTechNight
 
SPDY/3 の HTTP 重畳効果を測定する
SPDY/3 の HTTP 重畳効果を測定するSPDY/3 の HTTP 重畳効果を測定する
SPDY/3 の HTTP 重畳効果を測定する彰 村地
 

Ähnlich wie 20120525 mt websocket (20)

WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
 
ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?
 
世界一速い他人のふんどしを使ったタイルサーバ
世界一速い他人のふんどしを使ったタイルサーバ 世界一速い他人のふんどしを使ったタイルサーバ
世界一速い他人のふんどしを使ったタイルサーバ
 
Webrtc最新動向
Webrtc最新動向Webrtc最新動向
Webrtc最新動向
 
20110622 haruyama webso]cket
20110622 haruyama webso]cket20110622 haruyama webso]cket
20110622 haruyama webso]cket
 
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
 
websocket-survery
websocket-surverywebsocket-survery
websocket-survery
 
Lesson01
Lesson01Lesson01
Lesson01
 
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WANInterop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
 
Protocol2018
Protocol2018Protocol2018
Protocol2018
 
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
 
IETF93 Prague報告Web関連+QUIC
IETF93 Prague報告Web関連+QUICIETF93 Prague報告Web関連+QUIC
IETF93 Prague報告Web関連+QUIC
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
 
HttpとTelnetをつなぐ何か
HttpとTelnetをつなぐ何かHttpとTelnetをつなぐ何か
HttpとTelnetをつなぐ何か
 
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
 
吾輩はコンテンツ事業者である 楽天編
吾輩はコンテンツ事業者である 楽天編吾輩はコンテンツ事業者である 楽天編
吾輩はコンテンツ事業者である 楽天編
 
透過 L2 BRIDGE NAT
透過 L2 BRIDGE NAT透過 L2 BRIDGE NAT
透過 L2 BRIDGE NAT
 
これから利用拡大?WebSocket
これから利用拡大?WebSocketこれから利用拡大?WebSocket
これから利用拡大?WebSocket
 
SPDY/3 の HTTP 重畳効果を測定する
SPDY/3 の HTTP 重畳効果を測定するSPDY/3 の HTTP 重畳効果を測定する
SPDY/3 の HTTP 重畳効果を測定する
 

Mehr von Ryosuke MATSUMOTO

Saint2012 mod process security
Saint2012 mod process securitySaint2012 mod process security
Saint2012 mod process securityRyosuke MATSUMOTO
 
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構Ryosuke MATSUMOTO
 
軽量Ruby『mruby』について
軽量Ruby『mruby』について軽量Ruby『mruby』について
軽量Ruby『mruby』についてRyosuke MATSUMOTO
 
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_luaRyosuke MATSUMOTO
 
第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版Ryosuke MATSUMOTO
 
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善Ryosuke MATSUMOTO
 
スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャ
スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャスレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャ
スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャRyosuke MATSUMOTO
 

Mehr von Ryosuke MATSUMOTO (8)

Saint2012 mod process security
Saint2012 mod process securitySaint2012 mod process security
Saint2012 mod process security
 
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
 
軽量Ruby『mruby』について
軽量Ruby『mruby』について軽量Ruby『mruby』について
軽量Ruby『mruby』について
 
Mod mrubyについて
Mod mrubyについてMod mrubyについて
Mod mrubyについて
 
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
 
第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版
 
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
 
スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャ
スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャスレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャ
スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャ
 

20120525 mt websocket