Foundation Patterns
In the previous chapter, we began our deep dive into the architectural aspects of cloud-native systems with a look at their anatomy. To create these globally scalable systems, we effectively turn the cloud into the database. Following Reactive principles, we leverage event streaming to turn the database inside out by replicating data across components to maximize responsiveness, resilience, and elasticity. Ultimately, we create proper functional and technical bulkheads, so that teams can continuously deliver innovation with confidence.
In this chapter, we begin our discussion of cloud-native patterns. We will discuss the patterns that provide the foundation for creating bounded isolated components. We eliminate all synchronous inter-component communication and build our foundation on asynchronous inter-component communication, replication, and eventual consistency. We will cover the following foundation patterns:
- Cloud-Native Databases Per Component
- Event Streaming
- Event Sourcing
- Data Lake
- Stream Circuit Breaker
- Trilateral API