Submit Search
Upload
リアクティブシステムとAkka
•
2 likes
•
848 views
TIS Inc.
Follow
Reactive Systems Meetup in 大阪のスライドです。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 39
Download now
Download to read offline
Recommended
Scala、DDD、Akkaで立ち向かう 〜広告配信システムに課せられた100msの制約〜
Scala、DDD、Akkaで立ち向かう 〜広告配信システムに課せられた100msの制約〜
MicroAd, Inc.(Engineer)
「Scala、DDD、Akkaで立ち向かう 〜広告配信システムに課せられた100msの制約〜」 2019/10/05 【マイクロアド】〜ネット広告を支える技術を知る〜 #microad_CAMPHOR https://camphor.connpass.com/event/146724/
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~ (Spring Fest 2020講演資料) 2020年12月17日 NTTデータ 技術革新統括本部 横井 一輝
正しいものを正しくつくる
正しいものを正しくつくる
toshihiro ichitani
2016年10月25日 PMCONF発表 http://pmconf.jp/ 2016年09月16日 デブサミ関西2016発表 http://event.shoeisha.jp/devsumi/20160916/
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
アプリ「ニュースパス」をマイクロサービスで開発してみた泥臭い体験談です。
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
2015/8/3にウルシステムズ河野さんに講演いただいた「概念モデリング再入門+DDD」の資料です。
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
更新日時を排除していくことでそこそこのモデルを書けるようになる手法です。
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
2019/9/25-6に開催されたUnite Tokyo 2019の講演スライドです。 小端 みより(株式会社ミクシィ) こんな人におすすめ ・Unityでより本格的なマルチプレイのゲームを作りたい方 ・そもそも通信や同期処理ってどうやって実装するの?という方 受講者が得られる知見 ・Unityで専用サーバを開発するメリットやその方法 ・Unityでサーバとクライアントを同時に開発するテクニック ・通信に関する知識、専用サーバを運用する方法 Unityのイベント資料はこちらから: https://www.slideshare.net/UnityTechnologiesJapan/clipboards
ストーリーポイントで見積もるということ
ストーリーポイントで見積もるということ
Yagi Natsuki
ストーリーポイントでの見積もりについて、社内で認識合わせに使用した資料
Recommended
Scala、DDD、Akkaで立ち向かう 〜広告配信システムに課せられた100msの制約〜
Scala、DDD、Akkaで立ち向かう 〜広告配信システムに課せられた100msの制約〜
MicroAd, Inc.(Engineer)
「Scala、DDD、Akkaで立ち向かう 〜広告配信システムに課せられた100msの制約〜」 2019/10/05 【マイクロアド】〜ネット広告を支える技術を知る〜 #microad_CAMPHOR https://camphor.connpass.com/event/146724/
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~ (Spring Fest 2020講演資料) 2020年12月17日 NTTデータ 技術革新統括本部 横井 一輝
正しいものを正しくつくる
正しいものを正しくつくる
toshihiro ichitani
2016年10月25日 PMCONF発表 http://pmconf.jp/ 2016年09月16日 デブサミ関西2016発表 http://event.shoeisha.jp/devsumi/20160916/
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
アプリ「ニュースパス」をマイクロサービスで開発してみた泥臭い体験談です。
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
2015/8/3にウルシステムズ河野さんに講演いただいた「概念モデリング再入門+DDD」の資料です。
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
更新日時を排除していくことでそこそこのモデルを書けるようになる手法です。
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
2019/9/25-6に開催されたUnite Tokyo 2019の講演スライドです。 小端 みより(株式会社ミクシィ) こんな人におすすめ ・Unityでより本格的なマルチプレイのゲームを作りたい方 ・そもそも通信や同期処理ってどうやって実装するの?という方 受講者が得られる知見 ・Unityで専用サーバを開発するメリットやその方法 ・Unityでサーバとクライアントを同時に開発するテクニック ・通信に関する知識、専用サーバを運用する方法 Unityのイベント資料はこちらから: https://www.slideshare.net/UnityTechnologiesJapan/clipboards
ストーリーポイントで見積もるということ
ストーリーポイントで見積もるということ
Yagi Natsuki
ストーリーポイントでの見積もりについて、社内で認識合わせに使用した資料
CQRS+ESをAkka Persistenceを使って実装してみる。
CQRS+ESをAkka Persistenceを使って実装してみる。
Matsushita Satoshi
CQRS+ESをAkka Persistenceを使って実装してみる。
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則
bonjin6770 Kurosawa
#7 でがらし会
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
オンラインゲームの仕組みや工夫を調べてみたのを社内勉強会で発表した。ときのスライド。の公開用。 オンラインゲームの種別とそれぞれの仕組みについての話と、オープンソースになっているQuakeの仕組みの話、という2つの話が主なトピック
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
・データベース的な観点でのソーシャルゲームの特徴 ・データモデル ・ソーシャルゲームに従来型RDBMSを使うべきか、流行りのNoSQLで行くべきか ・負荷対策 (アーキテクチャ面) ・負荷対策 (ツール面) ・インフラエンジニアのキャリアについて
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
ドメイン駆動設計 Domain-Driven Design ( DDD ) 準備 / スタートアップ / ブラッシュアップ / チャレンジ / 参考書籍 /
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
2014/06/14に行われたOSC Hokkaido 2014内で株式会社インフィニットループの佐々木が発表したセミナー、「新入社員のための大規模ゲーム開発入門 サーバサイド編」のスライド資料
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
https://vsuc.connpass.com/event/146588/
ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版
Tokoroten Nakayama
Aidemyで公開されている「ビジネスパーソンのためのDX入門講座」の紹介プレゼンです。 以下の講演で発表した資料です https://aidemy.connpass.com/event/197780/
WebSocketのキホン
WebSocketのキホン
You_Kinjoh
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
sairoutine
マスタデータNight #1 https://masterdata.connpass.com/event/155533/
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
Takafumi ONAKA
2017-06-22 Rails Developers Meetup #2
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
toshihiro ichitani
ギルド勉強会で使ったスライド。
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
Java/Spring Boot/MyBatis/Thymeleafを使った、ドメイン駆動設計のサンプルコード。ビジネスルールに焦点を合わせ、計算モデルで複雑さを整理し、型指向のプログラミングで実装する、その具体例。
Unityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
torisoup
Unityでオニオンアーキテクチャをやってみたという話です 2019/02/21 Roppongi.unity #1 https://roppongiunity.connpass.com/event/119111/
MagicOnion入門
MagicOnion入門
torisoup
[非公式] Unite Tokyo 2019 Eve2 LT Fes https://connpass.com/event/139403/
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
より詳細なCQRSに関する資料はこちら https://little-hands.hatenablog.com/entry/2019/12/02/cqrs 参考資料:http://little-hands.hatenablog.com/entry/jjug2017fall 社内新規プロダクトでDDD, CQRSの思想をベースとしたアーキテクチャを構築し、コマンド(更新系処理)ではSpring Data JPA(Hibernate)を、クエリ(参照系処理)ではjOOQを採用しました。 結果としてそれぞれのORMの良いところを生かした組み合わせのアーキテクチャが構築できたので、その経緯と得られた知見についてお話ししたいと思います。 以下のようなトピックを考えています。 ・CQRSの定義とメリットデメリット ・DDD,CQRSを検討するにあたってのORMの選定ポイント ・構築したアーキテクチャ CQRSはDDDと切り分けて単独でも適用することができるので、DDDについてご存知ない方もご覧いただけます。日本語の文献は意外と少ないので、この辺りの分野に興味がある人の参考になれば幸いです。
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
Takuya Kawabe
わんくま同盟勉強会@大阪#60でお話しさせて頂きました。 『C#実装から見るDDD(ドメイン駆動設計)』を多少手直しをして、再掲載しました。
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
2021年にインフィニットループ社内の新卒向け研修で使われた資料です。
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Google Cloud Platform - Japan
2018 年 9 月 19 日(水) 第 5 回 Google Cloud INSIDE Games & Apps@Next '18 株式会社コロプラ
REST API のコツ
REST API のコツ
pospome
社内勉強会向け資料
Starting Reactive Systems with Lerna #reactive_shinjuku
Starting Reactive Systems with Lerna #reactive_shinjuku
TIS Inc.
Reactive Systems Meetup #7 の発表資料です。
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
心 谷本
More Related Content
What's hot
CQRS+ESをAkka Persistenceを使って実装してみる。
CQRS+ESをAkka Persistenceを使って実装してみる。
Matsushita Satoshi
CQRS+ESをAkka Persistenceを使って実装してみる。
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則
bonjin6770 Kurosawa
#7 でがらし会
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
オンラインゲームの仕組みや工夫を調べてみたのを社内勉強会で発表した。ときのスライド。の公開用。 オンラインゲームの種別とそれぞれの仕組みについての話と、オープンソースになっているQuakeの仕組みの話、という2つの話が主なトピック
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
・データベース的な観点でのソーシャルゲームの特徴 ・データモデル ・ソーシャルゲームに従来型RDBMSを使うべきか、流行りのNoSQLで行くべきか ・負荷対策 (アーキテクチャ面) ・負荷対策 (ツール面) ・インフラエンジニアのキャリアについて
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
ドメイン駆動設計 Domain-Driven Design ( DDD ) 準備 / スタートアップ / ブラッシュアップ / チャレンジ / 参考書籍 /
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
2014/06/14に行われたOSC Hokkaido 2014内で株式会社インフィニットループの佐々木が発表したセミナー、「新入社員のための大規模ゲーム開発入門 サーバサイド編」のスライド資料
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
https://vsuc.connpass.com/event/146588/
ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版
Tokoroten Nakayama
Aidemyで公開されている「ビジネスパーソンのためのDX入門講座」の紹介プレゼンです。 以下の講演で発表した資料です https://aidemy.connpass.com/event/197780/
WebSocketのキホン
WebSocketのキホン
You_Kinjoh
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
sairoutine
マスタデータNight #1 https://masterdata.connpass.com/event/155533/
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
Takafumi ONAKA
2017-06-22 Rails Developers Meetup #2
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
toshihiro ichitani
ギルド勉強会で使ったスライド。
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
Java/Spring Boot/MyBatis/Thymeleafを使った、ドメイン駆動設計のサンプルコード。ビジネスルールに焦点を合わせ、計算モデルで複雑さを整理し、型指向のプログラミングで実装する、その具体例。
Unityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
torisoup
Unityでオニオンアーキテクチャをやってみたという話です 2019/02/21 Roppongi.unity #1 https://roppongiunity.connpass.com/event/119111/
MagicOnion入門
MagicOnion入門
torisoup
[非公式] Unite Tokyo 2019 Eve2 LT Fes https://connpass.com/event/139403/
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
より詳細なCQRSに関する資料はこちら https://little-hands.hatenablog.com/entry/2019/12/02/cqrs 参考資料:http://little-hands.hatenablog.com/entry/jjug2017fall 社内新規プロダクトでDDD, CQRSの思想をベースとしたアーキテクチャを構築し、コマンド(更新系処理)ではSpring Data JPA(Hibernate)を、クエリ(参照系処理)ではjOOQを採用しました。 結果としてそれぞれのORMの良いところを生かした組み合わせのアーキテクチャが構築できたので、その経緯と得られた知見についてお話ししたいと思います。 以下のようなトピックを考えています。 ・CQRSの定義とメリットデメリット ・DDD,CQRSを検討するにあたってのORMの選定ポイント ・構築したアーキテクチャ CQRSはDDDと切り分けて単独でも適用することができるので、DDDについてご存知ない方もご覧いただけます。日本語の文献は意外と少ないので、この辺りの分野に興味がある人の参考になれば幸いです。
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
Takuya Kawabe
わんくま同盟勉強会@大阪#60でお話しさせて頂きました。 『C#実装から見るDDD(ドメイン駆動設計)』を多少手直しをして、再掲載しました。
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
2021年にインフィニットループ社内の新卒向け研修で使われた資料です。
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Google Cloud Platform - Japan
2018 年 9 月 19 日(水) 第 5 回 Google Cloud INSIDE Games & Apps@Next '18 株式会社コロプラ
REST API のコツ
REST API のコツ
pospome
社内勉強会向け資料
What's hot
(20)
CQRS+ESをAkka Persistenceを使って実装してみる。
CQRS+ESをAkka Persistenceを使って実装してみる。
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版
WebSocketのキホン
WebSocketのキホン
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
Unityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
MagicOnion入門
MagicOnion入門
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
REST API のコツ
REST API のコツ
Similar to リアクティブシステムとAkka
Starting Reactive Systems with Lerna #reactive_shinjuku
Starting Reactive Systems with Lerna #reactive_shinjuku
TIS Inc.
Reactive Systems Meetup #7 の発表資料です。
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
心 谷本
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
Serverworks Co.,Ltd.
CCBNET 経済産業省 中国経済産業局主催 中小ITベンダのための「クラウド時代を生き残る経営戦略策定ノススメ」でサーバーワークス代表の大石(@ooishi)が講演した際の資料です。 ※本資料は、広島・松江での講演資料です
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani
Presented on Mar 11, 2017.
Akkaの並行性
Akkaの並行性
TIS Inc.
Reactive System Meetup in 大阪 #2の資料です。
[CTO Night & Day 2019] Blockchain on AWS #ctonight
[CTO Night & Day 2019] Blockchain on AWS #ctonight
Amazon Web Services Japan
2019年10月に京都で開催された CTO Night & Day 2019 Fall Day1 モーニングセッションでの講演資料です
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは
Trainocate Japan, Ltd.
グローバルナレッジネットワーク 無料セミナー「次世代の企業ITインフラを支えるエンジニアとは」資料
スタートアップがAWSを使うべき3つの理由
スタートアップがAWSを使うべき3つの理由
Serverworks Co.,Ltd.
2012年4月17日 MOVIDA JAPAN主催のアントレプレナー向け講習「MOVIDA SCHOOL」で、当社代表の大石がスタートアップのみなさんにクラウド選定の勘所、AWSを使うメリットについてプレゼンテーションを行った際の資料です。 MOVIDA SCHOOL: http://www.movidainc.com/programs サーバーワークス: http://www.serverworks.co.jp
Wsfc basic 130720
Wsfc basic 130720
wintechq
Windows Server 2012 Failover Clustring Basic
JTF2018 FIWARE x robot x IoT
JTF2018 FIWARE x robot x IoT
Nobuyuki Matsui
July Tech Festa 2018で講演した資料です FIWARE x ロボット x IoT 〜 ロボットと人が共生する社会へ 〜
Typesafe Reactive Platformで作るReactive System入門
Typesafe Reactive Platformで作るReactive System入門
TIS Inc.
「Reactive System Meetup in 西新宿」での発表資料です
CSCJ_Webcast_20180626_ACI.pdf
CSCJ_Webcast_20180626_ACI.pdf
yojitanaka2
ACZI
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
Godai Nakamura
AWSオンリーで実現するIoTクラウド基盤
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
オラクルエンジニア通信
20190324実施 OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料 https://ochacafe.connpass.com/event/122445/
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
Kimihiko Kitase
Apache CloudStack コントリビューターへの道 - パッチを送ってみよう - 翻訳プロジェクトに参加してみよう
Example of exiting legacy system
Example of exiting legacy system
TakamchiTanaka
新卒3年目が立ち向かった、お名前.comでの超巨大レガシーシステム脱却の事例 #jjug_ccc #ccc_a7 https://jjug-cfp.cfapps.io/submissions/9f18bae0-85ad-42e5-bd88-1c0c3ecf985a
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
分散システムのFault Injectionの話 NTTデータテクノロジーカンファレンス2017で発表する際に用いたプレゼン資料 https://oss.nttdata.com/hadoop/event/201710/index.html
ぜんぜんスマートじゃないプライベートクラウドの現実 運用担当者が苦労する4つの問題と3つの救済案
ぜんぜんスマートじゃないプライベートクラウドの現実 運用担当者が苦労する4つの問題と3つの救済案
Kentaro Kamata
コスト削減や業務効率改善のために仮想化やプライベートクラウドに踏み切ってみたものの、かえって仕事量が増えてしまったり、思ったほどのコスト削減ができず悩みを抱えている運用担当者は多いのでは?システムインテグレーターは教えてくれない運用担当者が取り組むべき次の一手とは?
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
Serverworks Co.,Ltd.
CCBNET 経済産業省 中国経済産業局主催 中小ITベンダのための「クラウド時代を生き残る経営戦略策定ノススメ」でサーバーワークス代表の大石(@ooishi)が講演した際の資料です。 ※本資料は、山口・岡山での講演資料です
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
Nobuyuki Tamaoki
講師:日本仮想化技術 玉置 日時:2015/6/5 タイトル:OpenStack最新動向と構築のポイント 概要: OpenStack を学ぶ理由 OpenStack を構成する要素 OpenStack をより理解するために OpenStack Summit 出張報告
Similar to リアクティブシステムとAkka
(20)
Starting Reactive Systems with Lerna #reactive_shinjuku
Starting Reactive Systems with Lerna #reactive_shinjuku
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
Akkaの並行性
Akkaの並行性
[CTO Night & Day 2019] Blockchain on AWS #ctonight
[CTO Night & Day 2019] Blockchain on AWS #ctonight
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは
スタートアップがAWSを使うべき3つの理由
スタートアップがAWSを使うべき3つの理由
Wsfc basic 130720
Wsfc basic 130720
JTF2018 FIWARE x robot x IoT
JTF2018 FIWARE x robot x IoT
Typesafe Reactive Platformで作るReactive System入門
Typesafe Reactive Platformで作るReactive System入門
CSCJ_Webcast_20180626_ACI.pdf
CSCJ_Webcast_20180626_ACI.pdf
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
Example of exiting legacy system
Example of exiting legacy system
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
ぜんぜんスマートじゃないプライベートクラウドの現実 運用担当者が苦労する4つの問題と3つの救済案
ぜんぜんスマートじゃないプライベートクラウドの現実 運用担当者が苦労する4つの問題と3つの救済案
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
More from TIS Inc.
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
TIS Inc.
AWSイベント登壇資料
Reactive Systems that focus on High Availability with Lerna
Reactive Systems that focus on High Availability with Lerna
TIS Inc.
Lightning Talks on Reactive Summit 2021
可用性を突き詰めたリアクティブシステム
可用性を突き詰めたリアクティブシステム
TIS Inc.
第6回Reactive System Meetup in 西新宿 の資料です。 https://reactive-shinjuku.connpass.com/event/202517/
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
TIS Inc.
イベント「EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜」 の説明資料です。 Big Picture Workshopのやり方を解説しています。
JavaからAkkaハンズオン
JavaからAkkaハンズオン
TIS Inc.
JJUG CCC Fall 2018 Akkaハンズオンの資料です。 Javaで小さなWebアプリケーションを作成します。
Akka in Action workshop #ScalaMatsuri 2018
Akka in Action workshop #ScalaMatsuri 2018
TIS Inc.
ScalaMatsuri2018
Preparing for distributed system failures using akka #ScalaMatsuri
Preparing for distributed system failures using akka #ScalaMatsuri
TIS Inc.
Akkaで分散システムの障害に備える Presentation of ScalaMatsuri 2017
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
TIS Inc.
Scala関西Summit2016の資料です。
akka-doc-ja
akka-doc-ja
TIS Inc.
第3回Reactive System MeetupのLT資料です。
10分で分かるリアクティブシステム
10分で分かるリアクティブシステム
TIS Inc.
第2回Reactive Systems Meetup in 西新宿での発表資料
Typesafe Reactive Platformで作るReactive System
Typesafe Reactive Platformで作るReactive System
TIS Inc.
Scala関西Summit2015での発表資料です。
Effective Akka読書会2
Effective Akka読書会2
TIS Inc.
第2回Effective Akka読書会@西新宿の資料です。
再帰で脱Javaライク
再帰で脱Javaライク
TIS Inc.
「実戦での Scala 〜 6つの事例から知る Scala の勘所〜」でLTしました。
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
TIS Inc.
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
甲賀流Jenkins活用術
甲賀流Jenkins活用術
TIS Inc.
More from TIS Inc.
(15)
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
Reactive Systems that focus on High Availability with Lerna
Reactive Systems that focus on High Availability with Lerna
可用性を突き詰めたリアクティブシステム
可用性を突き詰めたリアクティブシステム
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
JavaからAkkaハンズオン
JavaからAkkaハンズオン
Akka in Action workshop #ScalaMatsuri 2018
Akka in Action workshop #ScalaMatsuri 2018
Preparing for distributed system failures using akka #ScalaMatsuri
Preparing for distributed system failures using akka #ScalaMatsuri
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
akka-doc-ja
akka-doc-ja
10分で分かるリアクティブシステム
10分で分かるリアクティブシステム
Typesafe Reactive Platformで作るReactive System
Typesafe Reactive Platformで作るReactive System
Effective Akka読書会2
Effective Akka読書会2
再帰で脱Javaライク
再帰で脱Javaライク
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
甲賀流Jenkins活用術
甲賀流Jenkins活用術
リアクティブシステムとAkka
1.
Copyright © 2018
TIS Inc. All rights reserved. Reactive Systems と Akka 前出 祐吾 @yugolf
2.
Copyright © 2018
TIS Inc. All rights reserved. TIS株式会社 前出 祐吾 @yugolf 最近の研究テーマ オープン環境で⾼可⽤システムどうやって構築する? 最近翻訳した本 最近書いた記事 ThinkIT:Akka HTTPでWeb APIに仕⽴てる 2 ⾃⼰紹介 本⽇公開
3.
Copyright © 2018
TIS Inc. All rights reserved. 3 本⽇のお話 リアクティブシステムが解決する問題が何で、 どう解決するかをAkkaを通じて知る • 注意 - ⾃⾝がAkkaに取り組んでいるモチベーション的観点でお話します - 解決策はいろいろあるので、その⼀つとして聞いてください
4.
Copyright © 2018
TIS Inc. All rights reserved. 4 アジェンダ •リアクティブシステムの説明 •Akkaとは •アクターモデル •Akkaのアクター •耐障害性についてもう少し アジェンダ
5.
Copyright © 2018
TIS Inc. All rights reserved. 5 リアクティブシステム • メッセージ駆動のアーキテクチャによりユーザーの要求に可能な限り迅速に レスポンスする(即応性)システム • ⾼負荷状況や問題が検出された時でも応答時間を⼀定⽔準に保ち(弾⼒ 性)、部分的な障害が発⽣した時にもシステム全体を危険にさらすことなく 回復させる(耐障害性) ※リアクティブ宣言(https://www.reactivemanifesto.org/ja)より
6.
Copyright © 2018
TIS Inc. All rights reserved. 6 つまり、解決する問題は? • システムの利⽤者が増え、扱うデータも増える • それでも、「もっと速く」、「24時間365⽇」 とユーザーの要求は⾼まるばかり • もうこれまでのアーキテクチャでは限界 必要なのは? リアクティブシステム!! ⾮同期、ノンブロッキング、⾼可⽤性、疎結合、 スケーラビリティ、並⾏、並列、分散、⾼スループット、 低レイテンシー、、、、
7.
Copyright © 2018
TIS Inc. All rights reserved. 障害はそれぞれのコンポーネントに封じ込められ、コンポーネント は互いに隔離されるので、システムが部分的に故障してもシステム 全体を危険に晒すことなしに回復することが保証される。 7 デモムービー - 耐障害性(Resilient)編 - 細かい仕組みはひとまずおいておいて デモムービーで雰囲気を掴んでください
8.
Copyright © 2018
TIS Inc. All rights reserved. 8 リアクティブプログラミングでリアクティブシステム Future Reactive Streams RxJava RxScala CompletableFuture リアクティブシステム アーキテクチャレベルで4つの原則を適用 例:リアクティブシステムを適⽤して構築されたマイクロサービス マイクロサービス リアクティブプログラミングすれば、必ずしもリアクティブシステムが できあがるとは限らない ✓1つのノードがクラッシュしても回復する⼒があるか? ✓スケールアウト・スケールインできるか? リアクティブプログラミング リアクティブシステムを構築する プログラミング技術のひとつ
9.
Copyright © 2018
TIS Inc. All rights reserved. 9 ⼿段となるメッセージ駆動 コンポーネント コンポーネント メッセージ駆動を実現するツールキットAkka リアクティブシステムは⾮同期なメッセージパッシングによっ てコンポーネント間の境界を確⽴する
10.
Copyright © 2018
TIS Inc. All rights reserved. Akkaとは 10 第1章 Akkaの紹介
11.
Copyright © 2018
TIS Inc. All rights reserved. 11 Akkaとは 並⾏・分散システムを構築するためのツールキット • スケールアップ(並⾏)やスケール アウト(分散)の実現によるアプリ ケーションの複雑化を抑⽌ https://livebook.manning.com/#!/book/akka-in-action/chapter-1/
12.
Copyright © 2018
TIS Inc. All rights reserved. 12 単⼀のプログラミングモデルでスケールアップ・スケールアウト アクターモデルはメッセージの送受信を抽象化することにより、 実装とスレッドの数やサーバーの台数に対する結合度を下げる シングルスレッドで実⾏ 複数サーバーで実⾏ 逐次処理 並⾏処理 分散処理 アクターモデル マルチコアで実⾏ 位置透過性
13.
Copyright © 2018
TIS Inc. All rights reserved. アクターモデル 13 第2章 最⼩のAkkaアプリケーション
14.
Copyright © 2018
TIS Inc. All rights reserved. 14 アクターモデルとは 並⾏的に受信するメッセージに対する以下のふるまいを備える • アクターを作る • アクターにメッセージを送信する • メッセージを受信したときの動作を指定する トラディショナルモデルとの違い トラディショナルモデル アクターモデル 逐次実⾏が基本で部分的に並⾏処理を実装 本質的に並⾏
15.
Copyright © 2018
TIS Inc. All rights reserved. 15 本質的に並⾏? 顧客 チケット販売員 Buy Buy Buy メールボックス Akkaを使うことでアクターのプログラミングに集中できる • コンポーネント間のやり取りはメッセージで行う • 関数の応答を待つ必要はなく並行に処理される • アクターはメールボックスを持ち到着順に処理する
16.
Copyright © 2018
TIS Inc. All rights reserved. 16 もしあなたがErlangの世界のアクターだった場合 「すごいErlangゆかいに学ぼう!」より https://www.ymotongpoo.com/works/lyse-ja/ja/01_introduction.html あなたは孤独な⼈間で、窓もない暗い部屋に座っていて、 メールボックスにメッセージが届くのを待っている状態で す。 そしてメッセージを受け取ると、それに対して特定の⽅法で 反応します:メッセージを受け取るときにお⾦を払い、誕⽣ ⽇カードには「ありがとう(“Thank you”)」という⽂字で返 事をし、理解出来ない⽂字は無視するという具合です。
17.
Copyright © 2018
TIS Inc. All rights reserved. Akkaのアクター 17 第2章 最⼩のAkkaアプリケーション
18.
Copyright © 2018
TIS Inc. All rights reserved. 18 トラディショナルスタイルとAkkaを4つのケースで⽐較 Akkaとは/概要/従来型との違い/アクターのプログ ラミングモデル/Akkaのアクター 1)データを保存して耐久性のあるものにしたい 2)インタラクティブな機能を実装したい 3)サービスを分離して疎結合にしたい 4)システム全体の障害を避けたい
19.
Copyright © 2018
TIS Inc. All rights reserved. 19 1)データを耐久性のあるものにしたい インメモリーに状態を持ち、ロック制御なしに書き換える 1万円引落し 1万円引落し 残⾼ 1万円 ATM モバイル 1万円引落し 1万円引落し ロック ATM モバイル ⼝座 残⾼ 1万円 トラディショナル Akka ボトルネック
20.
Copyright © 2018
TIS Inc. All rights reserved. 20 1)データを耐久性のあるものにしたい 状態をイベントとして永続化しておき(Akka Persistence)、 これらを再⽣することで状態を復元できる • 1万円引落 • 1万円引落 • 3万円預⼊ 「スケールアウトしやすいようステートレスに」、 から「ステートフルでスケーラブルに」 イベントの永続化 イベントの再⽣ 1万円引落し 1万円引落し ATM モバイル ⼝座 残⾼ 1万円
21.
Copyright © 2018
TIS Inc. All rights reserved. 21 2)インタラクティブな機能を作りたい メッセージパッシングなので基本プッシュ ポーリング @Bob “こんにちは!” Alice Bob プッシュ Alice Bob チャットサーバー トラディショナル Akka
22.
Copyright © 2018
TIS Inc. All rights reserved. チャットサーバー メンションサーバー - 時間的疎結合:メッセージの応答を待たない - 機能的疎結合:送信後どうなったか知らない - 位置的疎結合:別サーバーにいてもいい 22 3)サービスを分離して疎結合にしたい メッセージパッシングなので元々⾮同期で疎結合 • 密結合は複雑度をあげる • 変更容易=技術的負債になりづらい、ほどよい疎結合 「メンション」がメッセー ジを受信したときのふる まいを定義するだけ 「メンション」のふるまい が変わっても「会話」は影 響を受けない チャット エンキュー デキュー 会話 メンションMeメンション トラディショナル Akka
23.
Copyright © 2018
TIS Inc. All rights reserved. 23 4)システム全体の障害を避けたい アクターでエラーが発⽣したらスーパーバイザーへ 1万円引落し 故障!! 故障中 システムをダウンさせないよう、 すべての障害を想定しCatch 現⾦引き出し try { Atm.takeOutCash() } catch () { // 障害が発⽣したときの処理 } 障害制御はスーパーバイザーに任せる Dave ATM モバイル スーパーバイザー トラディショナル Akka - 障害制御においても疎結合
24.
Copyright © 2018
TIS Inc. All rights reserved. 24 スーパーバイザーヒエラルキー https://doc.akka.io/docs/akka/2.5/general/supervision.html Akkaは適切な単位で障害制御を⾏うため、スーパーバイザー ヒエラルキーを持つ https://livebook.manning.com/#!/book/akka-in-action/chapter-1/
25.
Copyright © 2018
TIS Inc. All rights reserved. 25 1)データを耐久性のあるものにしたい DB インメモリーで状態を持ちイベントを永続化 2)インタラクティブな機能を実装したい ポーリング メッセージパッシング 3)サービスを分離して疎結合にしたい キュー アクター間は疎結合 4)システム全体の障害を避けたい 全障害シナリオをキャッチ コンポーネント間で影響なし トラディショナルスタイルとAkkaを4つのケースで⽐較してみた
26.
Copyright © 2018
TIS Inc. All rights reserved. 耐障害性についてもう少し 26
27.
Copyright © 2018
TIS Inc. All rights reserved. 27 • サービスのレスポンスが遅いときがある • サービスが使えないときがある 即応性のないサービスを使いますか?
28.
Copyright © 2018
TIS Inc. All rights reserved. 28 • サービスのレスポンスが遅いときがある ✓弾⼒性を備え、トラフィックが⾼いときも即応性を維持 ✓RDBMSへのロック&アップデートから脱却 ✓アクターの状態をアップデート ✓アクターは受信したメッセージを順に処理するため競合しない 即応性を持たせるにはどうすればよいか? 1/2 • 1万円引落 • 1万円引落 • 3万円預⼊ イベントの永続化 イベントの再⽣ 1万円引落し 1万円引落し ATM モバイル ⼝座 残⾼ 1万円
29.
Copyright © 2018
TIS Inc. All rights reserved. 29 • サービスが使えなくなるときがある ✓耐障害性を備え、部分的な障害で留め全体をダウンさせない ✓Akkaクラスタ使って⼀部のノードに障害が発⽣しても、残りの ノードで処理を継続 即応性を持たせるにはどうすればよいか? 2/2 ノード アクター 正常なノードに移動 障害発⽣
30.
Copyright © 2018
TIS Inc. All rights reserved. 30 ダウンしたノードは何もしないため、⾳信不通=ダウンとみなし回復 ダウンした後、使えるようになるまでの時間 - 障害検知 5s - ハートビート間隔 - ハートビートの応答待ち時間 - 誤検知防⽌待ち時間 - クラスタメンバーの状態が浸透するまでの時間 7s※ - 同⼀アクターが複数⽣成されるのを防⽌するマージン 7s※ - アクターの再⽣成 αs ※5ノードの場合の推奨値 ノード間で常時 ヘルスチェック
31.
Copyright © 2018
TIS Inc. All rights reserved. 31 • ダウンしたノードを⾃動的に復元するのは危険 • ネッドワーク分断時にSplit Brainが発⽣する • Akka Sprit Brain Resolver(商⽤機能) • 短すぎる設定でも同様の問題が発⽣ 同⼀アクターが複数存在する危険性
32.
Copyright © 2018
TIS Inc. All rights reserved. 32 リアクティブジャーニー Akka Actorでトラフィックが⾼いときも即応性を維持 Akka Persistenceでデータに耐久性を サーバー障害時も動作し続ける、レジリエンスなシステムを⽬指し Akka Clusterでクラスタを ネットワーク分断が発⽣したときも⼀貫性を失わないよう Akka Split Brain Resolverを使って不要なノードをダウンさせる データセンター障害時にも備えておきたい! (Akka MultiDCを使って複数データセンターにクラスタを組む)
33.
Copyright © 2018
TIS Inc. All rights reserved. 33 Akkaのエコシステム 拡張機能 機能 Akka Actors 低レベルなスレッドプログラミングを⾏わずに並⾏分散シス テムを実現できるモデル Akka Streams ノンブロッキングなバックプレッシャーを備えた⾮同期スト リーム処理を直感的かつ安全に実現 Akka Http モダン、⾼速、⾮同期、ストリームファーストなHTTPサー バーとクライアント Akka Cluster システムを複数ノードに分散させ、レジリエンスと弾⼒性を 実現 Cluster Sharding 識別⼦に基づいてアクターをクラスター全体に分散 Distributed Data 結果整合性、⾼スループット、低レイテンシを実現するデー タ構造 Alpakka 他の技術と統合するためのAkkaStreamのコネクタ Akka Persistence イベントソーシングで再起動後も同じ状態に復元 Akka Management クラウド上でAkkaシステムを運⽤するための拡張(k8s、 AWS) Commercial Addons split brain resolver, Multi-DC Persistenceなどの商⽤機能 https://akka.io/docs/
34.
Copyright © 2018
TIS Inc. All rights reserved. 最後に 34 まとめ
35.
Copyright © 2018
TIS Inc. All rights reserved. 35 まとめ • リアクティブシステムは4つの原則を満たすアーキテクチャ • トラフィックが増えデータも増える中、24×7とにかく早いレス ポンスが求められる • アクターモデルがメッセージ駆動を実現 • Akkaは並⾏処理や分散システムの構築における複雑度の上昇を 抑⽌してくれるツールキット • Akka Extensionsや商⽤機能を利⽤することでよりレジリエン スなシステムを構築できる 注)ただし、ものごとが並⾏に起こるということをデザインする ことは容易ではない。⼈類には…
36.
Copyright © 2018
TIS Inc. All rights reserved. 36 どこからはじめる? • ⼤きいファイルのアップロードにAkka Streamsを使ってみる • バッチ処理の性能改善にAkka Streamsを使ってみる • アクターのタイマーをトリガーに使ってみる 並⾏プログラミングからクラスタリング そして、リアクティブシステムへ
37.
Copyright © 2018
TIS Inc. All rights reserved. どうやってはじめる? 37 • Akka実践バイブル(翔泳社) • メニーコア時代のパラダイム リアクティブシステムを知ろう(ThinkIT) Kindle版は固定レイアウトなので電子書籍ならPDF版がオススメ • Reactive Architecture: Introduction to Reactive Systems • Reactive Architecture: Domain Driven Design • Reactive Architecture: Reactive Microservices (Coming Soon!) - 動画(スクリプト付き)で学び、簡単なテストで理解を確認しながら自分 のペースで進められる - コンプリートしたら認定証みたいなのも発行されるので多少達成感もある?
38.
Copyright © 2018
TIS Inc. All rights reserved. We are hiring! 38 いっしょに人類の限界に挑戦しませんか? 注)ものごとが並⾏に起こるということをデザインする ことは容易ではない ⼈類には… 究極の可⽤性を⼿に⼊れるべく ダウンタイムの短縮にチャレンジしています。
39.
THANK YOU
Download now