This chapter covers
- Why every microservice needs a cache
- Using events to populate local data stores/caches
- Using messaging in event-driven systems
- The difference between messaging and events
- The event log and event sourcing
Remember how I defined cloud-native in chapter 1? There I did a lightweight analysis that took us from high-level requirements for modern software to a set of four characteristics: cloud-native software is redundant, adaptable, modular, and dynamically scalable (figure 12.1). And for the bulk of the book, you’ve studied these characteristics in the context of the services and interactions that make up our software. But recall that the third entity in the mental model that I also laid out in chapter 1 was data. The characteristics of cloud-native software apply just as much to the data layer.