4. WHAT ARE MICROSERVICES?
• Fine grained business capabilities
• Loose coupling
• Independent
• Reusable
„Make each program do one thing well. To do a new
job, build afresh rather than complicate old programs
by adding new "features".”[1]
16. • State machine
• Retry policy
• Circuit breaker
• Rollback?
PREPARING FOR FAILURE
17. TED’S SOLUTION
Reactive Interaction Gateway
EVENT HUB
Person Domain
Microservice
Event Consumer /
Producer
Domain
DB
Domain API
SalesPoint
Domain
Microservice
Event Consumer /
Producer
Domain
DB
Domain API
It’s not
that
simple!
Jill
18. • One service
• Self contained
• Overlapping
• Multipath
• Workflow
COMPLEX LOGIC
19. JILL’S SOLUTION
Reactive Interaction Gateway
EVENT HUB
mService mService mService
Orchestrated
Async Task
Orchestrated
Async Task
Orchestrated
Async Task
Async ORCHESTRATOR
Micro Service Implementing Workflow Following SAGA pattern
Event Consumer / Producer
Credit Evaluation DomainPerson Domain
Microservice
Event Consumer /
Producer
Domain
DB
Domain API
SalesPoint
Domain
Microservice
Event Consumer /
Producer
Domain
DB
Domain API
Domain API
Back in my
time…
Bob
20. LEGACY SYSTEM DECOUPLING
• New Domain
• Wrapper
• Light replacement
• Replacement
• Data integrity
• Change Data Capture
• Transformers
21. Core
BOB’S SOLUTION
Reactive Interaction Gateway
EVENT HUB
mService mService mService
Orchestrated
Async Task
Orchestrated
Async Task
Orchestrated
Async Task
Async ORCHESTRATOR
Adapter
Event Consumer /
Producer
API
WebServices
Micro Service Implementing Workflow Following SAGA pattern
Event Consumer / Producer
Credit Evaluation Domain
Legacy /
3rd party
system
Legacy DB
CDC/Batch
CB Cache
Person Domain
Microservice
Event Consumer /
Producer
Domain
DB
Domain API
SalesPoint
Domain
Microservice
Event Consumer /
Producer
Domain
DB
Domain API
Domain API
Legacy Transformer
DB / In-Memory
Event Consumer /
Producer
Nice
theory!
Albert