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
Reactive Microservices Architecture
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Go Tanaka
September 09, 2016
Technology
0
280
Reactive Microservices Architecture
Go Tanaka
September 09, 2016
Tweet
Share
More Decks by Go Tanaka
See All by Go Tanaka
TAKT & TeamKit
tan_go238
0
22
なぜAIは チーム開発を 速くしないのか
tan_go238
9
3.9k
事業を理解するために勉強したこと
tan_go238
0
1.4k
RDRAと業務と私
tan_go238
6
5.3k
エンジニアのための情報設計入門
tan_go238
10
7.9k
JVM in Action
tan_go238
1
700
Ordinary Object Pointer in JVM
tan_go238
5
6.1k
フロントエンドの基礎知識
tan_go238
28
10k
たぶん便利なパターンマッチ
tan_go238
0
330
Other Decks in Technology
See All in Technology
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
360
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
180
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
120
君はジョシュアツリーを知っているか?名前をつけて事象を正しく認識しよう / Do you know Joshua Tree?
ykanoh
4
120
データマネジメント戦略Night - 4社のリアルを語る会
ktatsuya
1
220
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
110
AWS Systems Managerのハイブリッドアクティベーションを使用したガバメントクラウド環境の統合管理
toru_kubota
0
150
Phase03_ドキュメント管理
overflowinc
0
2.4k
今日から始められるテスト自動化 〜 基礎知識から生成AI活用まで 〜
magicpod
1
140
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
1
260
「通るまでRe-run」から卒業!落ちないテストを書く勘所
asumikam
2
480
契約書からの情報抽出を行うLLMのスループットを、バッチ処理を用いて最大40%改善した話
sansantech
PRO
2
250
Featured
See All Featured
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Prompt Engineering for Job Search
mfonobong
0
220
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Facilitating Awesome Meetings
lara
57
6.8k
Evolving SEO for Evolving Search Engines
ryanjones
0
170
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
93
Transcript
Reactive Microservices Architecture @tan_go238
ࠓ͢͜ͱ
ͬ͘͘͢͟͝Γ͠·͢
ϚΠΫϩαʔϏεͷίϯηϓτ • খͯ͘͞ • ಠཱͨ͠αʔϏεͰ • ͦΕͧΕ͕ࣗͷυϝΠϯͷσʔλΛ࣋ͪ • ಠཱͯ͠ •
͞Ε͍ͯͯ • εέʔϥϒϧ • ͦͯ͠ରোੑ͕͋Δ
Monolith https://goo.gl/keQyrL
SOA Microservices Reactive Microservices ↓ ↓
Reactive Microserviceͱʁ
Reactive Manifest • ଈԠੑ • ରোੑ • ྗੑ • ϝοηʔδۦಈ
http://www.reactivemanifesto.org/ja
Reactive Microservice (Failure isolation) Bulkheading (SPOFΛͭ͘Βͳ͍)
Reactive Microservice (Own your state, Exclusively)
Reactive Microservice (Event Sourcing, CQRS)
Reactive Microservice (Asynchronous Message-Passing)
Reactive Microserviceͱʁ • ಠཱ͍ͯ͠Δ (DockerΈ͍ͨͳԾԽͱΈ߹ΘͤͯߋʹޮԽ) • ରোੑ͕͋Δ • ඇಉظϝοηʔδϯά ͍͠ɺམͪͯଞͷӨڹ͕গͳ͘ɺ
εέʔϥϒϧʹͰ͖ͯΔͷͰ͙͢ճ෮͢Δ
࣮ࡍͲ͏ͬͯ࡞Δͷʁ
Microservices Come in Systems (Service Discovery) • ͓ޓ͍ͷαʔϏεͷΞυϨεΛ͍ͬͯΔඞཁ͕͋Δ • ͦͷΛݞΘΓ͢Δͷ͕
Service Discovery • CAPఆཧͷ CP-Based ͱ AP-Based ͕͋Δ • CP-Based … Zookeeper, etcd • AP-Based … Lightbend Reactive Platform, eureka, Serf
Microservices Come in Systems (API Gateway) ΫϥΠΞϯτ͔ΒͷϦΫΤετΛड͚औͬͯɺਖ਼͍͠αʔϏε͢ ྫ) Netflix API,
Amazon API Gateway
Microservices Come in Systems (Managing Communication Patterns) • ίϛϡχέʔγϣϯύλʔϯෳࡶʹͳͬͯ͘Δ •
Publish-Subscribe ύλʔϯΛ͏ • SubscriberҎԼͷϥΠϒϥϦ͔ΒσʔλΛऔಘ͢Δ • Kafka, Amazon Kinesis, Cassandra, Riak • ·ͩෆे • σʔλετϦʔϜ … Akka Stream, Apache Camel
Microservices Come in Systems (Back-pressure) • Publish-Subscribe ͷΑ͏ͳύλʔϯͰ Pub ͷॲཧ͕
͗ͯ͢ Sub ͷॲཧ͕͍͔ͭͳ͍͜ͱ͕͋Δ • Subscriber͕͕ࣗॲཧͰ͖ΔྔΛPublisherʹϦΫΤε τΛૹΔ͜ͱͰແବͳ͘Subscriber͕ॲཧͰ͖ΔྔΛॲ ཧ͢ΔΈ • Akka Stream, RxJava, Spark Streaming, Cassandra drivers
Microservices Come in Systems (Circuit Breaker pattern) • ϦϞʔτΞΫηεͷޭʗࣦഊΛΧϯτ͠ɺ Τϥʔ
(failure rate) ͕ᮢΛ͑ͨͱ͖ʹࣗಈతʹΞΫη εΛःஅ͢ΔΈ • Netflix Hystrix, Akka (akka.pattern.CircuitBreaker)
Microservices Come in Systems (Event-Driven Architecture) • σʔλͷมߋ͙͢ଞͷαʔϏε͔Βར༻Ͱ͖ͳ͍ͱ͍͚ͳ͍ • Event
Sourcing, CQRS • Command … ෭࡞༻͕͋Δૢ࡞ • Event … Կ͔͕ىͬͨ͜ͱ͍͏ϩά (ࣄ࣮) • Event Logging and Event Streaming Product • Riak, RedBull Eventuate
Microservices Come in Systems (SAGA pattern) • ࢄγεςϜͰͷτϥϯβΫγϣϯ (Process Manager)
Summery • Reactive Microservice ʹ͢Δʹ • ҎԼͷಛੑʹݻࣥ͢Δ • ͢Δ͜ͱ •
̍αʔϏεʹ͖ͭ̍ͭͷͷΈ • ഉଞతͳঢ়ଶʹ͢Δ • ඇಉظϝοηʔδύογϯά • ػಈੑ͕͋Δ (Mobility) • ߋʹҎԼͷΑ͏ͳಛੑΛซͤ࣋ͭ • αʔϏεಉ࢜ڠௐͯ͠ಈ࡞͢Δ • ͦͷαʔϏε͚ͩͰ݁͢Δ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ