O'Reilly logo
live online training icon Live Online training

Microservices caching strategies

Leveraging caching in a microservices ecosystem

Mark Richards

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 significantly increase performance, manage common data in a highly distributed architecture, and even manage data synchronization from cloud-based microservices. He describes the differences between a distributed and replicated cache, and demonstrates how to do space-based microservices, leveraging caching to its fullest extent.

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 cachin
  • How data is replicated between microservices
  • How to synchronize a replicated cache with an externally updated database
  • How to maintain a bounded context with a shared database
  • What the primary differences are between major caching technologies (products)
  • Alternatives for doing reporting and analytics in a highly-distributed microservices ecosystem

And you’ll be able to:

  • Perform cloud-based data synchronization between cloud and on-prem systems
  • Increase the performance of your microservices architecture
  • Share a single database schema within your microservices ecosystem
  • Do effective large-scale reporting and analytics in the microservices architecture
  • Version breaking database changes
  • Select the right caching technology that's right for you

This training course 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 of your microservices architecture
  • You need cross-cutting reporting and analytics capabilities in your microservices ecosystem

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:

Recommended follow-up:

About your instructor

  • Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and 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 served as the president of the New England Java Users Group from 1999 through 2003. He is the author of numerous technical books and videos, including the Software Architecture Fundamentals Video Series (O’Reilly video), Enterprise Messaging (O’Reilly video), Java Message Service, 2nd Edition (O’Reilly), and several books and videos on Microservices (O’Reilly). Mark is also a conference speaker and trainer and has spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Introduction

  • Why caching is important within a Microservices ecosystem (5 min)
  • Problems caching solves within Microservices architecture (5 min)

Caching Styles

  • Distributed caching (5 min)
  • Replicated caching (5 min)
  • Knowing which one to use and when (5 min)

Space-based Architecture

  • Topology overview (15 min)
  • Getting rid of the database (10 min)
  • Break (10 min)

Space-Based Microservices

  • Combining Space-based Architecture and Microservices (30 min)
  • Leveraging caching to increase performance (5 min)
  • Sharing the same database within a Microservices ecosystem (5 min)
  • Synchronizing cloud and on-prem systems (5 min)
  • Versioning database changes (10 min)
  • Reporting and analytics within Microservices (5 min)
  • Break (10 min)

Error Handling

  • Preventing data loss (5 min)
  • Addressing queue overflow conditions (15 min)

Cache Eviction

  • Eviction strategies (15 min)
  • When to evict data in Space-based Microservices (5 min)

Custom Message-Based Caching Strategies

  • Full replication (5 min)
  • Partial replication (5 min)