Microservices caching strategies
Published by O'Reilly Media, Inc.
Leveraging caching in a microservices ecosystem
In this 1-day online class expert software architect Mark Richards describes and demonstrates various caching strategies and patterns that you can use in Microservices to increase performance and scalability, manage shared data in a highly distributed architecture, and even manage on-prem data synchronization from cloud-based microservices. He describes the differences between a distributed and replicated cache, demonstrates various caching patterns within microservices, discusses error conditions resulting from data collisions, and demonstrates various cache eviction policies.
What you’ll learn and how you can apply it
By the end of this live, hands-on, online course, you’ll understand:
- The differences between distributed and replicated caching
- How data is shared between microservices
- How to create a data sidecar using distributed caching
- How to maintain a bounded context with a shared database
- What the primary differences are between major caching technologies (products)
- The differences between cache eviction policies
And you’ll be able to:
- Perform cloud-based data synchronization between cloud and on-prem systems
- Increase the performance and scalability of your microservices architecture
- Effectively share data between microservices
- Understand the tradeoffs between various caching strategies and patterns
- Determine which caching topology to use
- Decouple the database from your microservices instances
- Select the right caching technology that's right for you
- Select the right eviction policy for your situation
This live event is for you because...
- You are using microservices but cannot break apart your monolithic database
- You need to synchronize data between cloud and on-prem systems
- You need to increase the performance and scalability of your microservices architecture
Prerequisites
- A basic understanding of the Microservices architecture style and some of the issues associated with Microservices is needed as this class does not cover the basics of Microservices.
- The desire to learn more about the complexities of Microservices
Recommended preparation:
- What are microservices? (lesson)
- Microservices vs. SOA (report)
- Microservices AntiPatterns and Pitfalls (report)
Recommended follow-up:
- Microservice Architecture (book)
- Building Microservices (book)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Caching Topologies (50 min)
- Single In-Memory Caching
- Distributed Caching
- Replicated Caching
- Near-Cache Hybrid
- Which One Should I Use?
- Break (10 min)
Caching Use Cases (60 min)
- Data Sharing
- Data Sidecar
- Multi-instance Service Caching
- Tuple-space Pattern
- Break (10 min)
Error Handling (20 min)
- Preventing Data Collisions
Cache Eviction Techniques (40 min)
- Time-To-Live (TTL) Policy
- Archive (ARC) Policy
- Least Frequently Used (LFU) Policy
- Least Recently Used (LRU) Policy
- Random Replacement (RR) Policy
Your Instructor
Mark Richards
Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures and other distributed systems in a variety of technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark is the founder of DeveloperToArchitect.com, a free website devoted to helping developers in the journey to becoming a software architect. In addition to hands-on consulting, Mark has authored numerous technical books and videos, including his two latest books Fundamentals of Software Architecture and Software Architecture: The Hard Parts that he co-authored with Neal Ford. Mark has spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.