Submit Search
Typesafe Reactive Platformで作るReactive System
40 likes
•
14,384 views
TIS Inc.
Scala関西Summit2015での発表資料です。
Technology
Read more
1 of 47
Download now
Downloaded 34 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
More Related Content
PDF
再帰で脱Javaライク
TIS Inc.
PDF
10分で分かるリアクティブシステム
TIS Inc.
PDF
リアクティブシステムとAkka
TIS Inc.
PDF
可用性を突き詰めたリアクティブシステム
TIS Inc.
PDF
Starting Reactive Systems with Lerna #reactive_shinjuku
TIS Inc.
PPTX
Ansible・ServerspecベースのOSS開発のCIの成功・失敗談
光平 八代
PPTX
Ansible・Serverspecベースの自動化フレームワークSHIFT wareの紹介
光平 八代
PPTX
ニイヨンサンロクゴ
Yutaka Hiroyama
再帰で脱Javaライク
TIS Inc.
10分で分かるリアクティブシステム
TIS Inc.
リアクティブシステムとAkka
TIS Inc.
可用性を突き詰めたリアクティブシステム
TIS Inc.
Starting Reactive Systems with Lerna #reactive_shinjuku
TIS Inc.
Ansible・ServerspecベースのOSS開発のCIの成功・失敗談
光平 八代
Ansible・Serverspecベースの自動化フレームワークSHIFT wareの紹介
光平 八代
ニイヨンサンロクゴ
Yutaka Hiroyama
What's hot
(20)
PPTX
Diskless Compute Nodeを使ったImmutable OpenStack
Yuki Yamashita
PDF
商用導入実績世界1位! ミランティスが提供するOpenStackとお客様の導入事例
Ataru Shimodaira
PDF
OpenStack東京サミットに向けて
shintaro mizuno
PDF
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
irix_jp
PDF
ベンダーロックインフリーのビジネスクラウドの世界
ミランティスジャパン株式会社
PPTX
ベンダーロックインフリーのビジネスクラウドの世界
ミランティスジャパン株式会社
PDF
OpenStackに必要な技術スキルとは
ミランティスジャパン株式会社
PPTX
OpenStack summit report 2016 in barcelona
Yuki Yamashita
PDF
Azure サポート チームの現場からお届けする落ちないサービスのために
Teppei Ishii
PDF
デバイスパッケージを開発してみた @沖縄オープンラボ
Takao Setaka
PPTX
OSSのクラウド基盤 OpenStack / CloudStack
VirtualTech Japan Inc.
PPTX
Interop2016-openstack-user-group-mizuno
shintaro mizuno
PPTX
OpenStackを使用するメリット
ミランティスジャパン株式会社
PDF
Why SoftLayer? なぜ、EC/通販統合パッケージリーダーのエルテックスは、SoftLayerを選んだのか?
softlayerjp
PDF
OpenStack Days Tokyo 2016 HPE Presentation
Masanori Itoh
PDF
【Interop Tokyo 2015】 DC 3: Cisco ACI と OpenStack / Cisco UCS Director
シスコシステムズ合同会社
PDF
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
softlayerjp
PDF
グローバルファイル転送のベストプラクティス
softlayerjp
PDF
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
VirtualTech Japan Inc.
PDF
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
VirtualTech Japan Inc.
Diskless Compute Nodeを使ったImmutable OpenStack
Yuki Yamashita
商用導入実績世界1位! ミランティスが提供するOpenStackとお客様の導入事例
Ataru Shimodaira
OpenStack東京サミットに向けて
shintaro mizuno
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
irix_jp
ベンダーロックインフリーのビジネスクラウドの世界
ミランティスジャパン株式会社
ベンダーロックインフリーのビジネスクラウドの世界
ミランティスジャパン株式会社
OpenStackに必要な技術スキルとは
ミランティスジャパン株式会社
OpenStack summit report 2016 in barcelona
Yuki Yamashita
Azure サポート チームの現場からお届けする落ちないサービスのために
Teppei Ishii
デバイスパッケージを開発してみた @沖縄オープンラボ
Takao Setaka
OSSのクラウド基盤 OpenStack / CloudStack
VirtualTech Japan Inc.
Interop2016-openstack-user-group-mizuno
shintaro mizuno
OpenStackを使用するメリット
ミランティスジャパン株式会社
Why SoftLayer? なぜ、EC/通販統合パッケージリーダーのエルテックスは、SoftLayerを選んだのか?
softlayerjp
OpenStack Days Tokyo 2016 HPE Presentation
Masanori Itoh
【Interop Tokyo 2015】 DC 3: Cisco ACI と OpenStack / Cisco UCS Director
シスコシステムズ合同会社
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
softlayerjp
グローバルファイル転送のベストプラクティス
softlayerjp
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
VirtualTech Japan Inc.
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
VirtualTech Japan Inc.
Ad
Viewers also liked
(20)
PDF
20160128 jjug Nightセミナー_Git実践入門
Mizuki Ugajin
PDF
リアクティブ・アーキテクチャ ~大規模サービスにおける必要性と課題〜 #devsumi
Yuta Okamoto
PDF
SIerもはじめる わたしたちのDevOps #jjug_ccc
Mizuki Ugajin
PDF
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
PDF
第三回マイクロサービスアーキテクチャ読書会(後半)
Mizuki Ugajin
PDF
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Yoshimura Soichiro
PPTX
CQRS+ESをAkka Persistenceを使って実装してみる。
Matsushita Satoshi
PDF
Msa読書会#3前半
健仁 天沼
PPTX
JIRA / Confluence の必須プラグインはこれだ
Narichika Kajihara
PDF
僕のチームビルディングには、Confluenceが必要だった
Narichika Kajihara
PDF
Preparing for distributed system failures using akka #ScalaMatsuri
TIS Inc.
PDF
⼤企業で実現するイマドキの内製開発
NTT Communications Technology Development
PDF
甲賀流Jenkins活用術
TIS Inc.
PDF
Effective Akka読書会2
TIS Inc.
PDF
akka-doc-ja
TIS Inc.
PDF
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
TIS Inc.
PDF
Typesafe Reactive Platformで作るReactive System入門
TIS Inc.
PDF
バッチではじめてAkkaを使ってみた (refined)
Koji Agawa
PDF
[豆ナイト]Java small object programming
Yuichi Hasegawa
PDF
自己紹介からはじめよう
boostuposaka
20160128 jjug Nightセミナー_Git実践入門
Mizuki Ugajin
リアクティブ・アーキテクチャ ~大規模サービスにおける必要性と課題〜 #devsumi
Yuta Okamoto
SIerもはじめる わたしたちのDevOps #jjug_ccc
Mizuki Ugajin
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
第三回マイクロサービスアーキテクチャ読書会(後半)
Mizuki Ugajin
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Yoshimura Soichiro
CQRS+ESをAkka Persistenceを使って実装してみる。
Matsushita Satoshi
Msa読書会#3前半
健仁 天沼
JIRA / Confluence の必須プラグインはこれだ
Narichika Kajihara
僕のチームビルディングには、Confluenceが必要だった
Narichika Kajihara
Preparing for distributed system failures using akka #ScalaMatsuri
TIS Inc.
⼤企業で実現するイマドキの内製開発
NTT Communications Technology Development
甲賀流Jenkins活用術
TIS Inc.
Effective Akka読書会2
TIS Inc.
akka-doc-ja
TIS Inc.
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
TIS Inc.
Typesafe Reactive Platformで作るReactive System入門
TIS Inc.
バッチではじめてAkkaを使ってみた (refined)
Koji Agawa
[豆ナイト]Java small object programming
Yuichi Hasegawa
自己紹介からはじめよう
boostuposaka
Ad
Similar to Typesafe Reactive Platformで作るReactive System
(20)
PPTX
Consulによる運用自律化体験ハンズオンとConsul活用事例紹介
cloudconductor
PDF
AWSオンリーで実現するIoTクラウド基盤
Godai Nakamura
PDF
MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~
オラクルエンジニア通信
PDF
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
Daisuke Ikeda
PPTX
Spring I/O 2015 報告
Takuya Iwatsuka
PDF
Zabbix監視運用業務の自動化事例
OSSラボ株式会社
PPTX
Reactor によるデータインジェスチョン
Akihiro Kitada
PDF
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
Hidemasa Togashi
PDF
Contiv
Shogo Katsurada
PDF
【HinemosWorld2015】B2-4_HinemosとConsulで実現する運用自動化のご提案
Hinemos
PDF
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
PDF
Internet of Toilet / Jaws festa 2016
Godai Nakamura
PDF
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
JPCERT Coordination Center
PDF
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
decode2016
PDF
スタートアップがAWSを使うべき3つの理由
Serverworks Co.,Ltd.
PDF
JavaからAkkaハンズオン
TIS Inc.
PDF
[db tech showcase Tokyo 2015] D35:高トランザクションを実現するスケーラブルRDBMS技術 by 日本電気株式会社 並木悠太
Insight Technology, Inc.
PDF
Serf / Consul 入門 ~仕事を楽しくしよう~
Masahito Zembutsu
PDF
20190515 hccjp hybrid_strategy
Osamu Takazoe
PPTX
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
cloudconductor
Consulによる運用自律化体験ハンズオンとConsul活用事例紹介
cloudconductor
AWSオンリーで実現するIoTクラウド基盤
Godai Nakamura
MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~
オラクルエンジニア通信
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
Daisuke Ikeda
Spring I/O 2015 報告
Takuya Iwatsuka
Zabbix監視運用業務の自動化事例
OSSラボ株式会社
Reactor によるデータインジェスチョン
Akihiro Kitada
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
Hidemasa Togashi
Contiv
Shogo Katsurada
【HinemosWorld2015】B2-4_HinemosとConsulで実現する運用自動化のご提案
Hinemos
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
Internet of Toilet / Jaws festa 2016
Godai Nakamura
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
JPCERT Coordination Center
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
decode2016
スタートアップがAWSを使うべき3つの理由
Serverworks Co.,Ltd.
JavaからAkkaハンズオン
TIS Inc.
[db tech showcase Tokyo 2015] D35:高トランザクションを実現するスケーラブルRDBMS技術 by 日本電気株式会社 並木悠太
Insight Technology, Inc.
Serf / Consul 入門 ~仕事を楽しくしよう~
Masahito Zembutsu
20190515 hccjp hybrid_strategy
Osamu Takazoe
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
cloudconductor
More from TIS Inc.
(6)
PDF
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
TIS Inc.
PDF
Reactive Systems that focus on High Availability with Lerna
TIS Inc.
PDF
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
TIS Inc.
PDF
Akkaの並行性
TIS Inc.
PDF
Akka in Action workshop #ScalaMatsuri 2018
TIS Inc.
PDF
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
TIS Inc.
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
TIS Inc.
Reactive Systems that focus on High Availability with Lerna
TIS Inc.
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
TIS Inc.
Akkaの並行性
TIS Inc.
Akka in Action workshop #ScalaMatsuri 2018
TIS Inc.
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
TIS Inc.
Recently uploaded
(11)
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
PDF
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
20250729_Devin-for-Enterprise
Masaki Yamakawa
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
Typesafe Reactive Platformで作るReactive System
1.
Copyright © 2015
TIS Inc. All rights reserved. Scala関西Summit2015 Typesafe Reactive Platformで作る Reactive System 2015.8.1 前出 祐吾
2.
Copyright © 2015
TIS Inc. All rights reserved. 2 自己紹介 ■ @yugolf ■ 甲賀 ▶ 京都 ▶ 東京 ! ■ TIS株式会社 ■ 生産革新本部 生産革新部 生産技術R&D室 ■ 社内向けエンジニアリング基盤の整備 ▶▶
3.
Copyright © 2015
TIS Inc. All rights reserved. 3 TIS、リアクティブコンサルはじめました http://www.tis.jp/service_solution/goreactive/
4.
Copyright © 2015
TIS Inc. All rights reserved. 4 Agenda 1. Reactive Systemとは 2. Reactive Systemのための技術 3. プチReactive体験
5.
Copyright © 2015
TIS Inc. All rights reserved. 5 1. Reactive Systemとは
6.
Copyright © 2015
TIS Inc. All rights reserved. 6 本日の話 http://www.reactivemanifesto.org/ Reactive Programming: データの流れ(ストリーム)とデータの値の変化の伝播にフォーカス したプログラムの設計モデル。 ・・・ の話ではない。 Reactive System:
7.
Copyright © 2015
TIS Inc. All rights reserved. 7 Reactive manifesto 絵 ! 即応性 弾力性 耐障害性 メッセージ駆動 http://www.reactivemanifesto.org/ja
8.
Copyright © 2015
TIS Inc. All rights reserved. 8 アプリケーションへの高まる要求 50台のサーバで動かしていたけど、クラウド上で 1000コアの環境を作りたいんだ。 レスポンスを得るのに3秒かかるけど、 500ミリ秒くらいにしたいのよ。 それと、年1回の2時間のメンテナンス なんとかならないかしら。 最初は100ギガくらいだったけど、そ ろそろペタ行くんじゃないかな。
9.
Copyright © 2015
TIS Inc. All rights reserved. 9 Reactive Systemとは 即応性と、耐障害性と、弾力性と、メッセージ駆動とを備えたシステム http://www.reactivemanifesto.org/ja
10.
Copyright © 2015
TIS Inc. All rights reserved. 10 Reactive Systemの価値 届けたい価値 手段 支える原理 高レスポンス Responsive 伸縮性 Elastic 耐障害性 Resilient メッセージ駆動 Message-driven
11.
Copyright © 2015
TIS Inc. All rights reserved. 11 Responsive ユーザーの要求に迅速にレスポンスするシステム 高レスポンス Responsive 伸縮性 Elastic 耐障害性 Resilient メッセージ駆動 Message-driven 届けたい価値 手段 支える原理
12.
Copyright © 2015
TIS Inc. All rights reserved. 12 Elastic 通常の負荷時だけでなく、一時的な高負荷状況でも、変動するワークロードに応 じて割り当てるリソースを増加・減少させることで応答時間を一定水準に保つ 高レスポンス Responsive 伸縮性 Elastic 耐障害性 Resilient メッセージ駆動 Message-driven 届けたい価値 手段 支える原理
13.
Copyright © 2015
TIS Inc. All rights reserved. 13 Resilient 部分的な障害が発生した時にもシステム全体を危険にさらすことなく回復さ せる高レスポンスを維持する 高レスポンス Responsive 伸縮性 Elastic 耐障害性 Resilient メッセージ駆動 Message-driven 届けたい価値 手段 支える原理
14.
Copyright © 2015
TIS Inc. All rights reserved. 14 Message Driven メッセージパッシングにより、コンポーネント間を疎結合にする 高レスポンス Responsive 伸縮性 Elastic 耐障害性 Resilient メッセージ駆動 Message-driven 届けたい価値 手段 支える原理
15.
Copyright © 2015
TIS Inc. All rights reserved. 15 2. Reactive Systemのための技術
16.
Copyright © 2015
TIS Inc. All rights reserved. 16 Typesafe Reactive Platform JavaVM アプリケーション AkkaPlay Framework Scala Java Slick 高レスポンス Responsive 伸縮性 Elastic 耐障害性 Resilient メッセージ駆動 Message-driven
17.
Copyright © 2015
TIS Inc. All rights reserved. 17 Play Framework • 非同期/ノンブロッキング • WebSocketサポート • Railsのような使いやすさ
18.
Copyright © 2015
TIS Inc. All rights reserved. 18 これまで def index = Action { implicit request => Ok(views.html.index()) } クライアント サーバ 高レスポンス Responsive ブロッキ ング
19.
Copyright © 2015
TIS Inc. All rights reserved. 19 Blocking コーヒーください。 コーヒー1つ∼ は∼い できた∼ ・・・ コーヒーどうぞ∼ 100円です。 コーヒーください。 コーヒー1つ∼ Block
20.
Copyright © 2015
TIS Inc. All rights reserved. 20 Non-blocking コーヒーください。 コーヒー1つ∼ は∼い コーヒーどうぞ∼ コーヒーください。 コーヒー1つ∼ 100円です。 100円です。 は∼い できた∼ コーヒーください。
21.
Copyright © 2015
TIS Inc. All rights reserved. 21 Reactive: 迅速なレスポンス def index = Action.async { val customer: Future[Customer] = getCustomer() customer.map(c => Ok("Customer: " + c)) } クライアント サーバ サービス 高レスポンス Responsive ノンブロッ キング ノンブロッ キング
22.
Copyright © 2015
TIS Inc. All rights reserved. 22 Reactive++ :サーバからのプッシュ クライアント サーバ def socket = WebSocket.using[String] { request => // Log events to the console val in = Iteratee.foreach[String](println).map { _ => println("Disconnected") } // Send a single 'Hello!' message val out = Enumerator("Hello!") (in, out) } 高レスポンス Responsive ノンブロッ キング WebSocket https://www.playframework.com/documentation/2.4.x/ScalaWebSockets
23.
Copyright © 2015
TIS Inc. All rights reserved. 23 Akka • 並行処理と分散処理をサポートするActor System • Supervision Model • 位置透過性
24.
Copyright © 2015
TIS Inc. All rights reserved. 24 Actor System sender Actor メッセージ駆動 Message-driven Mailbox Mailbox
25.
Copyright © 2015
TIS Inc. All rights reserved. 25 Reactive+++: Actor Model def socket = WebSocket.acceptWithActor[String, String] { request => out => MyWebSocketActor.props(out) } object MyWebSocketActor { def props(out: ActorRef) = Props(new MyWebSocketActor(out)) } class MyWebSocketActor(out: ActorRef) extends Actor { def receive = { case msg: String => out ! ("I received your message: " + msg) } } クライアント コントローラ Actor 伸縮性 Elastic 耐障害性 Resilient ノンブロッ キング WebSocket Actor https://www.playframework.com/documentation/2.4.x/ScalaWebSockets
26.
Copyright © 2015
TIS Inc. All rights reserved. 26 Supervision Modelで障害に強いシステムに override val supervisorStrategy: SupervisorStrategy = AllForOneStrategy(maxNrOfRetries = 100, withinTimeRange = 1 minute) { case _ => Restart } スーパー バイザー サブスーパー バイザー Actor Actor Actor 運命共同体 -‐OneForOne -‐AllForOne 障害を外へ波及させない 耐障害性 Resilient 子アクターの監視役
27.
Copyright © 2015
TIS Inc. All rights reserved. 27 let it crash
28.
Copyright © 2015
TIS Inc. All rights reserved. 28 Distribute https://conductr.typesafe.com/docs/1.0.x/DeployingApplication
29.
Copyright © 2015
TIS Inc. All rights reserved. 29 Reactive++++: Actorを増減させ容易にスケール クライアント コントローラ Actor Actor Actor ルーティングは様々 • ランダム • ラウンドロビン • ブロードキャスト • 早いの採用 伸縮性 Elastic ノンブロッ キング WebSocket Actor
30.
Copyright © 2015
TIS Inc. All rights reserved. 30 Reactive Slick Slick3 • FRM(Functional Relational Mapping)ライブラリ • Scalaのコレクションを扱うかのようにデータベースにアクセス出来る • DB処理は非同期に実行される
31.
Copyright © 2015
TIS Inc. All rights reserved. 31 Supported Databases • MySQL • PostgreSQL • H2 • HSQLDB/HyperSQL • SQLite • Derby/JavaDB • Microsoft Access • DB2 • Microsoft SQL Server • Oracle Slick Extensions
32.
Copyright © 2015
TIS Inc. All rights reserved. 32 Reactive+++++: 端から端までReactive def search = Action.async { implicit request => … val f:Future[Seq[EventRow]] = db.run(Events.filter(form)) f.map { case events if (events.length > 0) => Ok(views.html.sample.search( form.bindFromRequest, events)) case _ => … 高レスポンス Responsive クライアント コントローラ ノンブロッ キング WebSocket Actor ノンブロッ キング Actor データベース
33.
Copyright © 2015
TIS Inc. All rights reserved. 33 端から端までReactive 基本Asynchronous、 どこでWaitするかをデザインする
34.
Copyright © 2015
TIS Inc. All rights reserved. 34 Reactive++++++: Reactive Streams def search = Action.async { implicit request => … val q = for(e <- Event) yield e.eventNm val publisher:DatabasePublisher[String] = db.stream(q.result) publisher.foreach {e => println(e)} … 高レスポンス Responsive クライアント コントローラ ノンブロッ キング WebSocket Actor ノンブロッ キング データベース Actor
35.
Copyright © 2015
TIS Inc. All rights reserved. 35 3. プチReactive体験
36.
Copyright © 2015
TIS Inc. All rights reserved. 36 プチReactive体験 発電してますか?
37.
Copyright © 2015
TIS Inc. All rights reserved. 37 Reactive Solar Farm Monitor Solar Farm ① 何らかの原因で! 発電力が下がる ③ 故障が検知された! ソーラパネルの! アラートを表示 ID: 45412 ② 全ソーラーパネルの! 電力(W)から故障! しているパネルを検知 ソーラーパネルがそれぞれ定期的に! 発電した電力(W)のデータを送信! ・毎秒送信! ・パネル数は1万∼10万枚を想定 ID: 45412 Reactive Solar Farm Monitor Icon made by Freepik from www.flaticon.com is licensed under CC BY 3.0
38.
Copyright © 2015
TIS Inc. All rights reserved. 38 Architecture Monitor Analyzer Simulator http! &! WebSocket Subscriber Publisher Broker
39.
Copyright © 2015
TIS Inc. All rights reserved. 39 Message Passing Sum Calculator Sum Calculator InspectorInspector Packet Mean Alert Snapshot Packet Inspection Channel Buffer Channel Socket Buffer Broker Execute Take Snapshot Collect Ghosts Partial Sum Inspection Manager Sum Calculator Execute Inspector Done Sample Sample AnalyzerProxy Mean Calculator Execute Measurement Measurement SocketSocket
40.
Copyright © 2015
TIS Inc. All rights reserved. 40 Supervision Model AllForOne Strategy OneForOne Strategy Analysis Supervisor Calculation Supervisor Inspection Manager Inspector Inspection Channel BufferBuffer Channel Sum Calculator Mean Calculator Inspection Supervisor AllForOne Strategy User
41.
Copyright © 2015
TIS Inc. All rights reserved. 41 プチReactive体験 - Responsive ユーザーの要求に可能な限り迅速にレスポンスするシステム 高レスポンス Responsive 伸縮性 Elastic 耐障害性 Resilient メッセージ駆動 Message-driven
42.
Copyright © 2015
TIS Inc. All rights reserved. 42 プチReactive体験 支えているのはメッセージ駆動のアーキテクチャ
43.
Copyright © 2015
TIS Inc. All rights reserved. 43 4. Go Reactive × 3
44.
Copyright © 2015
TIS Inc. All rights reserved. 44 Go Reactive 1/3 • アーキクチャの詳細 • 時間の都合で出来なかったデモ http://reactive-‐shinjuku.connpass.com/event/17991/
45.
Copyright © 2015
TIS Inc. All rights reserved. 45 Go Reactive 2/3 http://www.tis.jp/service_solution/goreactive/ go-‐
[email protected]
リアクティブに興味のある方はご連絡下さい。
46.
Copyright © 2015
TIS Inc. All rights reserved. 46 Go Reactive 3/3 ソースコードはGitHubで公開しています。 太陽光発電に興味のある方はご連絡下さい。 https://github.com/tech-‐sketch/reactive-‐solar-‐farm-‐monitor go-‐
[email protected]
47.
THANK YOU
Download