Reactive Microservices

  1. Architectural Patterns and Design
    1. Communication Patterns
      1. Asynchronous Messaging
        1. Message Serialization
          1. JSON Serialization
            1. Binary Serialization
              1. Schema Evolution
              2. Delivery Semantics
                1. Fire-and-Forget
                  1. Request-Reply
                    1. Message Ordering
                  2. Event-Driven Communication
                    1. Event Producers and Consumers
                      1. Event Processing Pipelines
                        1. Event Filtering and Routing
                        2. Request-Response vs. Fire-and-Forget
                          1. Synchronous Request-Response
                            1. Asynchronous Fire-and-Forget
                              1. Choosing the Right Pattern
                                1. Correlation Patterns
                                2. Service Discovery
                                  1. Client-Side Discovery
                                    1. Service Registry Lookup
                                      1. Client Load Balancing
                                        1. Caching Strategies
                                        2. Server-Side Discovery
                                          1. Centralized Load Balancer
                                            1. Service Registration
                                              1. Proxy-Based Discovery
                                              2. Service Registry
                                                1. Registry Implementation
                                                  1. Health Checking
                                                    1. Service Metadata
                                                2. Data Management Patterns
                                                  1. Database-per-Service
                                                    1. Data Ownership
                                                      1. Data Isolation
                                                        1. Cross-Service Queries
                                                          1. Data Synchronization
                                                          2. Event Sourcing
                                                            1. Event Store Design
                                                              1. Event Replay
                                                                1. Event Versioning
                                                                  1. Snapshot Strategies
                                                                  2. Command Query Responsibility Segregation (CQRS)
                                                                    1. Command Model
                                                                      1. Query Model
                                                                        1. Synchronization Strategies
                                                                          1. Read Model Optimization
                                                                          2. Sagas for Distributed Transactions
                                                                            1. Saga Orchestration
                                                                              1. Saga Choreography
                                                                                1. Compensating Transactions
                                                                                  1. Saga State Management
                                                                                  2. Eventual Consistency
                                                                                    1. Consistency Models
                                                                                      1. Conflict Resolution
                                                                                        1. Data Synchronization
                                                                                          1. Convergence Guarantees
                                                                                        2. Resilience Patterns
                                                                                          1. Circuit Breaker
                                                                                            1. States of Circuit Breaker
                                                                                              1. Closed State
                                                                                                1. Open State
                                                                                                  1. Half-Open State
                                                                                                  2. Failure Detection
                                                                                                    1. Recovery Strategies
                                                                                                      1. Configuration Parameters
                                                                                                      2. Bulkhead
                                                                                                        1. Resource Partitioning
                                                                                                          1. Isolation Techniques
                                                                                                            1. Thread Pool Isolation
                                                                                                            2. Retry
                                                                                                              1. Retry Policies
                                                                                                                1. Exponential Backoff
                                                                                                                  1. Jitter Strategies
                                                                                                                    1. Maximum Retry Limits
                                                                                                                    2. Timeout
                                                                                                                      1. Timeout Configuration
                                                                                                                        1. Handling Timeout Events
                                                                                                                          1. Cascading Timeouts
                                                                                                                          2. Rate Limiter and Throttling
                                                                                                                            1. Rate Limiting Algorithms
                                                                                                                              1. Token Bucket
                                                                                                                                1. Leaky Bucket
                                                                                                                                  1. Fixed Window
                                                                                                                                    1. Sliding Window
                                                                                                                                    2. Throttling Strategies
                                                                                                                                      1. Backpressure Handling
                                                                                                                                    3. Decomposition Patterns
                                                                                                                                      1. Decomposing by Business Capability
                                                                                                                                        1. Identifying Capabilities
                                                                                                                                          1. Mapping to Services
                                                                                                                                            1. Capability Modeling
                                                                                                                                            2. Decomposing by Subdomain (Domain-Driven Design)
                                                                                                                                              1. Bounded Contexts
                                                                                                                                                1. Subdomain Identification
                                                                                                                                                  1. Context Mapping
                                                                                                                                                  2. The Strangler Fig Pattern
                                                                                                                                                    1. Incremental Migration
                                                                                                                                                      1. Coexistence Strategies
                                                                                                                                                        1. Legacy System Integration