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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Go Tanaka
September 09, 2016
Technology
0
270
Reactive Microservices Architecture
Go Tanaka
September 09, 2016
Tweet
Share
More Decks by Go Tanaka
See All by Go Tanaka
なぜAIは チーム開発を 速くしないのか
tan_go238
8
3.7k
事業を理解するために勉強したこと
tan_go238
0
1.3k
RDRAと業務と私
tan_go238
6
5.3k
エンジニアのための情報設計入門
tan_go238
10
7.9k
JVM in Action
tan_go238
1
690
Ordinary Object Pointer in JVM
tan_go238
5
6.1k
フロントエンドの基礎知識
tan_go238
28
10k
たぶん便利なパターンマッチ
tan_go238
0
330
ドメイン駆動設計 第一部まとめ
tan_go238
1
440
Other Decks in Technology
See All in Technology
Introduction to Bill One Development Engineer
sansan33
PRO
0
380
型を書かないRuby開発への挑戦
riseshia
0
190
パネルディスカッション資料 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
1.1k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
AIエンジニア Devin と歩む、自律型運用プロセスの構築
a2ito
0
690
OCI Security サービス 概要
oracle4engineer
PRO
2
13k
どこで打鍵するのが良い? IaCの実行基盤選定について
nrinetcom
PRO
2
170
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
170
問い合わせ自動化の技術的挑戦
recruitengineers
PRO
2
150
AIに視覚を与えモバイルアプリケーション開発をより円滑に行う
lycorptech_jp
PRO
1
800
越境する組織づくり ─ 多様性を前提にしたチームビルディングとリードの実践知
kido_engineer
1
110
Digitization部 紹介資料
sansan33
PRO
1
7k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
460
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Navigating Weather and Climate Data
rabernat
0
130
Six Lessons from altMBA
skipperchong
29
4.2k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
370
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
180
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Un-Boring Meetings
codingconduct
0
220
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) • ߋʹҎԼͷΑ͏ͳಛੑΛซͤ࣋ͭ • αʔϏεಉ࢜ڠௐͯ͠ಈ࡞͢Δ • ͦͷαʔϏε͚ͩͰ݁͢Δ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ