Keeping your Data Close and your Caches Hotter
Presented by: Ricardo Ferreira Viktor Gamov, Confluent
The distributed cache is becoming a popular technique to improve performance and simplify the data access layer when dealing with databases. Bringing the data as close as possible to the CPU allows unparalleled execution speed as well as horizontal scalability. This approach is often successful when used in a microservices design in which the cache is accessed only by a single API. However, it becomes more challenging if multiple applications are involved and changes are made to the database directly by other applications. The data held in the cache eventually becomes stale and no longer consistent with its underlying database. When consistency problems arise, the Engineering team must address that through additional coding -- which directly jeopardizes the team’s ability to be agile between releases. This talk presents a set of patterns for cache-based architectures that aim to keep the caches always hot; by using Apache Kafka and its connectors to accomplish that goal. It will be shown how to set up these patterns across different IMDGs such as Hazelcast, Apache Ignite or Coherence. These patterns can be used in conjunction with different cache topologies such as cache-aside, read-through, write-behind, and refresh-ahead, making it reusable enough to be used as a framework to achieve data consistency in any architecture that relies on distributed caches.
Working in the field, Viktor Gamov developed comprehensive expertise in building enterprise application architectures using open source technologies. He enjoys helping different organizations design and develop low latency, scalable and highly available distributed systems.
Back in his consultancy days, he co-authored O’Reilly’s «Enterprise Web Development.»
Follow Viktor on Twitter @gamussa, where he posts there about gym life, food, open source, and, of course, Kafka and Confluent!
He has +21 years of experience working with Software Development, where he specialized in different Distributed Systems architectures such as Integration, SOA, NoSQL, Messaging, In-Memory Caching and Cloud Computing.
Prior to Confluent he worked for other vendors such as Oracle, Red Hat and IONA Technologies, as well as several consulting firms.
While not working and like any good Brazilian -- he loves doing Churrasco’s (i.e.: Brazilian Barbecue) with his friends & family, where he get the chance to talk about anything that is not geek related.
He can be easily found on Twitter @riferrei or via his blog https://riferrei.net.