Architecting Cloud Native Applications
上QQ阅读APP看书,第一时间看更新

Boundary Patterns

In the previous chapter, we began our discussion of cloud-native patterns with foundation patterns. We leverage fully managed cloud-native databases and event streaming services to empower self-sufficient, full-stack teams to create globally scalable systems composed of bounded isolated components, which, following Reactive principles, are responsive, resilient, elastic, and message-driven. All inter-component communication is performed via asynchronous event streaming, which is typically triggered using the Database-First variant of the Event Sourcing pattern. With these bounded isolated components, we create proper functional and technical bulkheads, such that teams can continuously deliver innovation with confidence.

In this chapter, we will continue our discussion of cloud-native patterns. We will build on the foundation patterns and discuss the patterns that operate at the boundaries of cloud-native systems. The boundaries are where the system interacts with everything that is external to the system, including humans and other systems. We will cover the following boundary patterns:

  • API Gateway
  • Command Query Responsibility Segregation
  • Offline-First Database
  • Backend For Frontend
  • External Service Gateway