Reactive Architecture Quick Reference

2d rendering Cloud computing, Cloud Computing Concept, Cloud computing technology internet concept background

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