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
Monolith to Event-Driven Microservices
Search
Eko Kurniawan Khannedy
August 06, 2019
Technology
1
270
Monolith to Event-Driven Microservices
Software Architecture Conference
Eko Kurniawan Khannedy
August 06, 2019
Tweet
Share
More Decks by Eko Kurniawan Khannedy
See All by Eko Kurniawan Khannedy
Refactoring
khannedy
0
350
Multi-Datacenter Kafka at Blibli.com
khannedy
2
1.5k
QA Tools - Research and Development
khannedy
0
300
Reactive Puzzle
khannedy
0
210
Event-Driven Architecture
khannedy
1
2k
Resilience Engineering with Hystrix and Spring
khannedy
1
570
Mocking for Unit Test using Mockito
khannedy
1
350
Centralized Configuration using Consul and Spring Cloud
khannedy
2
710
Validation Best Practice
khannedy
2
1.3k
Other Decks in Technology
See All in Technology
Claude Codeの進化と各機能の活かし方
oikon48
22
12k
[JAWS DAYS 2026]私の AWS DevOps Agent 推しポイント
furuton
0
150
決済サービスを支えるElastic Cloud - Elastic Cloudの導入と推進、決済サービスのObservability
suzukij
2
620
Keycloak を使った SSO で CockroachDB にログインする / CockroachDB SSO with Keycloak
kota2and3kan
0
100
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4.2k
今のWordPress の制作手法ってなにがあんねん?(改) / What’s the Deal with WordPress Development These Days?
tbshiki
0
400
ナレッジワーク IT情報系キャリア研究セッション資料(情報処理学会 第88回全国大会 )
kworkdev
PRO
0
180
脳内メモリ、思ったより揮発性だった
koutorino
0
310
越境する組織づくり ─ 多様性を前提にしたチームビルディングとリードの実践知
kido_engineer
2
190
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/12 - 2026/2
oracle4engineer
PRO
0
110
JAWSDAYS2026_A-6_現場SEが語る 回せるセキュリティ運用~設計で可視化、AIで加速する「楽に回る」運用設計のコツ~
shoki_hata
0
3k
クラウド × シリコンの Mashup - AWS チップ開発で広がる AI 基盤の選択肢
htokoyo
2
230
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.8k
How to Ace a Technical Interview
jacobian
281
24k
My Coaching Mixtape
mlcsv
0
70
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
200
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
300
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
220
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
140
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
From π to Pie charts
rasagy
0
150
Transcript
Monolith to Event-Driven Microservices Eko Kurniawan Khannedy
Eko Kurniawan • Senior Principal R&D Engineer at Blibli.com •
10 Years of Experience in IT Industry • Software Architect behind: ◦ Blibli.com New Backend System ◦ Blipay
Agenda • Microservices • Event-Driven Architecture • Hands-On using Java
Microservices
Monolith vs Microservices Application Monolith Microservices
Monolith vs Microservices Deployment Monolith Microservices
Characteristic of Microservices 1. Componentization via Services 2. Organized around
Business Capabilities 3. Products not Projects 4. Smart endpoints and dumb pipes 5. Decentralized Governance 6. Decentralized Data Management 7. Infrastructure Automation 8. Design for failure 9. Evolutionary Design https://martinfowler.com/articles/microservices.html
Componentization via Services Library Service Product Library Shipping Library Product
Service Shipping Service
Organized around Business Capabilities Merchant Product Shipping
Decentralized Data Management MySQL Mongo Elasticsearch
Continuous Delivery Infrastructure Automation Unit Test Integration Test Deploy to
Staging Application Acceptance Test Deploy to Production Post Deploy Test
Design for failure • Monitoring • Circuit Breaker • Chaos
Monkey
How Big is Microservices? • Single Responsibility • Small enough
to fit in in my head • X people per Service
Monolith • Simplicity • Consistency • Easy to Refactor •
Partial Deployment • Availability • Multiple Platform • Easy to Scale Microservices
Event-Driven Architecture
API-Driven Microservices FRONTEND CART SERVICE ORDER SERVICE PAYMENT SERVICE
API-Driven Microservices Problem FRONTEND CART SERVICE ORDER SERVICE PAYMENT SERVICE
NOTIF SERVICE
Event-Driven Microservices FRONTEND CART SERVICE ORDER SERVICE PAYMENT SERVICE NOTIF
SERVICE CART EVENT
Event-Driven Microservices FRONTEND CART SERVICE ORDER SERVICE PAYMENT SERVICE NOTIF
SERVICE CART EVENT FRAUD SERVICE
Event-Driven Microservices Problem FRONTEND CART SERVICE ORDER SERVICE PAYMENT SERVICE
NOTIF SERVICE CART EVENT FRAUD SERVICE
Event-Carried State Transfer FRONTEND CART SERVICE ORDER SERVICE PAYMENT SERVICE
NOTIF SERVICE FULL CART EVENT FRAUD SERVICE CART DETAIL CART DETAIL CART DETAIL CART DETAIL https://martinfowler.com/articles/201701-event-driven.html
API-Driven • Highly-coupled • Centralized business logic • Consistent •
Increase response time • Sync Event-Driven • Decoupling • Decentralized business logic • Eventual consistent • Reduce load on producer • Replicated data • Async
The Challenges of Event-Driven Microservices • Idempoten • Asynchronous •
Message Schema • Versioning • Tracing • Message Order • Consumer Complexity • Message Broker
Hands-On using Java
Tools Required for This Workshop • Java Development Kit version
1.8 or Higher • Apache Maven version 3 • Apache Kafka version 2.3 • MongoDB version 4 • Elasticsearch version 7.2
MonoPay • MonoPay is whitelabel system for e-Wallet • Merchant
can use MonoPay to support e-Wallet feature in their system • MonoPay support member management, topup management, purchase management and point management • MonoPay use monolith architecture
MonoPay Backend System Merchant Module Cash Module Member Module Transaction
Module Mongo DB Partner System HTTP
MonoPay Wallet Project https://github.com/khannedy/monopay-wallet
How to migrate MonoPay to Event-Driven Microservices?
Migrating MonoPay to Microservices MonoPay eWallet Mongo DB Partner System
HTTP MonoPay API
Migrating MonoPay to Microservices MonoPay eWallet Mongo DB Partner System
HTTP MonoPay API MonoPay Merchant
Migrating MonoPay to Microservices MonoPay eWallet Mongo DB Partner System
HTTP MonoPay API MonoPay Merchant MonoPay Member
Migrating MonoPay to Microservices MonoPay eWallet Mongo DB Partner System
HTTP MonoPay API MonoPay Merchant MonoPay Member MonoPay Transaction
Migrating MonoPay to Microservices Mongo DB Partner System HTTP MonoPay
API MonoPay Merchant MonoPay Member MonoPay Transaction MonoPay Cash
Migrating MonoPay to Microservices Mongo DB Partner System HTTP MonoPay
API MonoPay Merchant MonoPay Member MonoPay Transaction MonoPay Cash Mongo DB Mongo DB Mongo DB
How to Integrate between Services?
API-Driven vs Event-Driven
MonoPay Microservices https://github.com/khannedy/monopay-api https://github.com/khannedy/monopay-merchant https://github.com/khannedy/monopay-member https://github.com/khannedy/monopay-transaction https://github.com/khannedy/monopay-cash
Migrating to Event-Driven Microservices Partner System HTTP MonoPay API MonoPay
Merchant MonoPay Member MonoPay Transaction MonoPay Cash KAFKA
One more thing
Migrating to Event-Driven Microservices Partner System HTTP MonoPay API MonoPay
Merchant MonoPay Member MonoPay Transaction MonoPay Cash KAFKA MonoPay Analytic ELASTICSEARCH Kibana Cloud
MonoPay Microservices https://github.com/khannedy/monopay-analytic
Thank You!