Building Responsive, resilient, elastic, maintainable and extensible systems leads to gaining competitive advantage through faster time to market, improve modern user experience and lower the total cost of building and operating applications.
Methods
Event driven and message driven architecture
Using Asynchronous messaging for inter-service communication and request processing
Isolate Everything (Decoupling)
- Isolate time (eliminate blocking & waiting on other services)
- Isolate space (location transparency)
- Isolate state (eliminate resource contention & synchronization)
- Isolate Failure (Contain and limit failure impact on other services)
Design Patterns
1-Design
The Actor Model
The building block of Reactive systems, using messaging to manage state and concurrency instead of synchronization. Using the supervisor model to manage failure recovery.
Avoid state sharing, resource contention, blocking and thread synchronization performance issues.
Domain Driven Design (DDD)
Define service boundaries and how domains can interact with each-other (Access Control Layer) (ACL)
2- Distributed Messaging
- Event Streaming
- Delivery Guarantees in a distributed system
- Point to Point messaging
- Publish Subscribe messaging
3-Service Access
- Service Locator
- API Gateway
- API Proxy
4-Persistence & Data Management
- CQRS
- Event Sourcing
- Command Sourcing
5-Transactions
- Eventual Consistency (CAP Thoram)
- Distributed Saga
6-Failure Recovery, Self-healing & Conflict Resolution
- Supervisor
- Bulkheading
- Circuit Breakers
- Sharding
- Back pressure
- CRDT & Caching
Books
Learn
Logic Keepers offers Modern Solution Architecture workshops, please check the link for more info
Certification
Reactive Architecture Certification
You must be logged in to post a comment.