Suche senden
Hochladen
Node.jsのオートスケールをFRPで管理する
•
4 gefällt mir
•
1,488 views
kidach1
Folgen
#wakateweb
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 46
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
kidach1
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
エンジニア勉強会 エスキュービズム
React + FLUX + Redux + Redux Saga のお話
React + FLUX + Redux + Redux Saga のお話
Shinichiro Yoshida
Grimoire.js + HoloLens
Grimoire.js + HoloLens
Masaki Yamamoto
Iotlt 28 HoloLensに日本語聞いてもらいたい
Iotlt 28 HoloLensに日本語聞いてもらいたい
Masaki Yamamoto
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えよう
Kazuhiro Hara
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
Shuji Yamada
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Yoshinori Kawasaki
Empfohlen
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
kidach1
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
エンジニア勉強会 エスキュービズム
React + FLUX + Redux + Redux Saga のお話
React + FLUX + Redux + Redux Saga のお話
Shinichiro Yoshida
Grimoire.js + HoloLens
Grimoire.js + HoloLens
Masaki Yamamoto
Iotlt 28 HoloLensに日本語聞いてもらいたい
Iotlt 28 HoloLensに日本語聞いてもらいたい
Masaki Yamamoto
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えよう
Kazuhiro Hara
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
Shuji Yamada
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Yoshinori Kawasaki
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
ymmt
コマンドなしでぼくはAndroid開発できない話
コマンドなしでぼくはAndroid開発できない話
Shinobu Okano
SwaggerとAPIのデザイン
SwaggerとAPIのデザイン
Kazuhiro Hara
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Kazuhiro Hara
Re-frame and A-Frame
Re-frame and A-Frame
Kazuhiro Hara
React Native 入門
React Native 入門
Seiichi Okumiya
React VR ことはじめ
React VR ことはじめ
Kazuhiro Hara
Riotjsハンズオン
Riotjsハンズオン
omi end
Yapc2012資料
Yapc2012資料
matsuo kenji
Github of project
Github of project
Ito Kunihiko
React.js・ReactNative・Redux入門
React.js・ReactNative・Redux入門
Kazuhiro Yoshimoto
実践 Redux Saga -Practical Redux Saga-
実践 Redux Saga -Practical Redux Saga-
Shinichiro Yoshida
Atlフェス2017 言霊holo lens
Atlフェス2017 言霊holo lens
Masaki Yamamoto
JAWS Osaka July 2014, Opsworks + Node.js
JAWS Osaka July 2014, Opsworks + Node.js
Martin Heidegger
いまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitした
Kouji Matsui
僕はどうしてAngular2をテーマに登壇することになってしまったのか
僕はどうしてAngular2をテーマに登壇することになってしまったのか
Tomohiro Noguchi
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
mihararyosuke
The History of Reactive Extensions
The History of Reactive Extensions
Yoshifumi Kawai
これからの「async/await」の話をしよう
これからの「async/await」の話をしよう
Kouji Matsui
Angular2実践入門
Angular2実践入門
Shumpei Shiraishi
Nodeにしましょう
Nodeにしましょう
Yuzo Hebishima
いまさら触るAwt
いまさら触るAwt
Keiichi Kobayashi
Weitere ähnliche Inhalte
Was ist angesagt?
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
ymmt
コマンドなしでぼくはAndroid開発できない話
コマンドなしでぼくはAndroid開発できない話
Shinobu Okano
SwaggerとAPIのデザイン
SwaggerとAPIのデザイン
Kazuhiro Hara
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Kazuhiro Hara
Re-frame and A-Frame
Re-frame and A-Frame
Kazuhiro Hara
React Native 入門
React Native 入門
Seiichi Okumiya
React VR ことはじめ
React VR ことはじめ
Kazuhiro Hara
Riotjsハンズオン
Riotjsハンズオン
omi end
Yapc2012資料
Yapc2012資料
matsuo kenji
Github of project
Github of project
Ito Kunihiko
React.js・ReactNative・Redux入門
React.js・ReactNative・Redux入門
Kazuhiro Yoshimoto
実践 Redux Saga -Practical Redux Saga-
実践 Redux Saga -Practical Redux Saga-
Shinichiro Yoshida
Atlフェス2017 言霊holo lens
Atlフェス2017 言霊holo lens
Masaki Yamamoto
JAWS Osaka July 2014, Opsworks + Node.js
JAWS Osaka July 2014, Opsworks + Node.js
Martin Heidegger
いまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitした
Kouji Matsui
僕はどうしてAngular2をテーマに登壇することになってしまったのか
僕はどうしてAngular2をテーマに登壇することになってしまったのか
Tomohiro Noguchi
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
mihararyosuke
The History of Reactive Extensions
The History of Reactive Extensions
Yoshifumi Kawai
これからの「async/await」の話をしよう
これからの「async/await」の話をしよう
Kouji Matsui
Angular2実践入門
Angular2実践入門
Shumpei Shiraishi
Was ist angesagt?
(20)
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
コマンドなしでぼくはAndroid開発できない話
コマンドなしでぼくはAndroid開発できない話
SwaggerとAPIのデザイン
SwaggerとAPIのデザイン
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Re-frame and A-Frame
Re-frame and A-Frame
React Native 入門
React Native 入門
React VR ことはじめ
React VR ことはじめ
Riotjsハンズオン
Riotjsハンズオン
Yapc2012資料
Yapc2012資料
Github of project
Github of project
React.js・ReactNative・Redux入門
React.js・ReactNative・Redux入門
実践 Redux Saga -Practical Redux Saga-
実践 Redux Saga -Practical Redux Saga-
Atlフェス2017 言霊holo lens
Atlフェス2017 言霊holo lens
JAWS Osaka July 2014, Opsworks + Node.js
JAWS Osaka July 2014, Opsworks + Node.js
いまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitした
僕はどうしてAngular2をテーマに登壇することになってしまったのか
僕はどうしてAngular2をテーマに登壇することになってしまったのか
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
The History of Reactive Extensions
The History of Reactive Extensions
これからの「async/await」の話をしよう
これからの「async/await」の話をしよう
Angular2実践入門
Angular2実践入門
Ähnlich wie Node.jsのオートスケールをFRPで管理する
Nodeにしましょう
Nodeにしましょう
Yuzo Hebishima
いまさら触るAwt
いまさら触るAwt
Keiichi Kobayashi
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
Yoji Shidara
mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論
鉄次 尾形
Vagrantで即席クラウドストレージ
Vagrantで即席クラウドストレージ
Yoshimi Tominaga
Skinny Framework 進捗どうですか? #fud_scala
Skinny Framework 進捗どうですか? #fud_scala
Kazuhiro Sera
Xcode で gulp を使うお話
Xcode で gulp を使うお話
Yoichiro Sakurai
0831 node学園lt
0831 node学園lt
Kazuya Fukumoto
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
崇之 清水
非同期処理をちょっとはラクに。Promises:aほか
非同期処理をちょっとはラクに。Promises:aほか
Masakazu Muraoka
GraphQLについての5分間
GraphQLについての5分間
Matsuo Obu
javascript を Xcode でテスト
javascript を Xcode でテスト
Yoichiro Sakurai
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Framework
kamiyam .
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
Yoshiki Shibukawa
SocketStream入門
SocketStream入門
Kohei Kadowaki
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
Yohei Sasaki
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
Masakazu Muraoka
minneで学ぶクラウド脳
minneで学ぶクラウド脳
Uchio Kondo
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
Masakazu Muraoka
Ähnlich wie Node.jsのオートスケールをFRPで管理する
(20)
Nodeにしましょう
Nodeにしましょう
いまさら触るAwt
いまさら触るAwt
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論
Vagrantで即席クラウドストレージ
Vagrantで即席クラウドストレージ
Skinny Framework 進捗どうですか? #fud_scala
Skinny Framework 進捗どうですか? #fud_scala
Xcode で gulp を使うお話
Xcode で gulp を使うお話
0831 node学園lt
0831 node学園lt
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
非同期処理をちょっとはラクに。Promises:aほか
非同期処理をちょっとはラクに。Promises:aほか
GraphQLについての5分間
GraphQLについての5分間
javascript を Xcode でテスト
javascript を Xcode でテスト
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Framework
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
SocketStream入門
SocketStream入門
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
minneで学ぶクラウド脳
minneで学ぶクラウド脳
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
Node.jsのオートスケールをFRPで管理する
1.
Node.jsのオートスケールをFRPで管理する #wakateweb 2015/10/16 DaikiTaniguchi (@kidach1) Akatsuki inc.
2.
谷口 大樹 /
kidach1 ・Github https://github.com/kidach1 ・Twitter https://twitter.com/kidach1 ・Qiita http://qiita.com/kidach1 ・Akatsuki Inc. ・Node / JavaScript /TypeScript Ruby / Rails / Android Dvorak Keyboard まだwakateだと信じたい26の秋
3.
大規模Node.jsを支える ロードバランスとオートスケール の独自実装
4.
5.
スライド80枚
6.
1スライド 6秒
7.
大規模Node.jsを支える ロードバランスとオートスケール の独自実装 断念
8.
こっちで話します!
9.
こっちで話します!
10.
http://qiita.com/kidach1/items/b75882edd4f715ebc213 学園祭事前資料
11.
本題
12.
Node.jsのオートスケールをFRPで管理する
13.
Architecture Realtime Cluster LB Cluster Redis Cluster API Cluster
14.
背景 ・Websocket / socket.ioの特性に紐づく制限もろもろ 続きは学園祭(ry
15.
Autoscaling
16.
Redis内で刻々と更新されていくインスタンス毎のコネク ション数をもとに、オートスケールの発火を管理する Autoscaling
17.
Redis内で刻々と更新されていくインスタンス毎のコネク ション数をもとに、オートスケールの発火を管理する Autoscaling
18.
_人人人人人_ > F R P <  ̄Y^Y^Y^Y ̄
19.
※ 今回は活用事例なので、基礎的な話は飛ばし気味で...
20.
・Redisから取得したデータを基軸とした一本のストリーム ・ストリームに対して様々な制御(オペレーション) ・スケーリングイベントの発火 Design
21.
Autoscaling
22.
オートスケールの発火条件 ・負荷(※今回は接続数)に応じてトリガー ・事前に設定したクラスタごとの最低稼働台数を下回った際トリガー ・指定時刻にトリガー Design
23.
Implementation
24.
Implementation
25.
Implementation
26.
Implementation
27.
Anti Pattern 冗長なストリームを避ける
28.
29.
30.
Anti Pattern ・ Not
DRY ・ Fat I/O
31.
Observable Hot / Cold
32.
Hot / Cold ・Cold
-> Observable : Observer = 1 : 1 ・Hot -> Observable : Observer = 1 : n ・特定のオペレータ(publish等)を使うと Cold→Hotに変換可能 ・特定のオペレータ(connect等)を使うと HotObservableの値がObserver達に一斉通知
33.
Autoscaling
34.
・mainStreamをHotObservableに変換(publish) ・各observer(checkByXXX)に分岐した後にconnect
35.
Hot Observable
36.
手続き型との比較
37.
38.
39.
FRP比: ・プリミティブな制御構造(今回は主に条件分岐)が 随所に登場し、全体の流れを俯瞰しにくい
40.
FRP ver
41.
FRPによって ・リストとして扱うことでオペレータ(filterやmapなど) を適用でき、制御構造が抽象化/隠 される ・非同期処理もストリームの一部として違和感なく扱える 結果として「コード全体の見通し向上」 つまり「本質的な処理に集中」できる
42.
ReactiveX
43.
・代表的なFRP支援ライブラリ ・豊富な言語実装 http://reactivex.io/languages.html Java: RxJava JavaScript: RxJS C#:
Rx.NET C#(Unity): UniRx Scala: RxScala Clojure: RxClojure C++: RxCpp Ruby: Rx.rb Python: RxPY Groovy: RxGroovy JRuby: RxJRuby Kotlin: RxKotlin Swift: RxSwift
44.
RxMarbles: Interactive diagrams
of Rx Observables http://rxmarbles.com/ 各種オペレーターの視覚的ダイアグラム
45.
Conclusion ・FPR→コードの見通し↑でなかなか良い ・インフラの制御はだいたいイベント駆動なので相性◎ ・まずはRx眺めてみると良いかも クライアントはもちろんですが、 バックエンド/インフラでも使っていきましょう!
46.
Thank you !
Jetzt herunterladen