Speaker Details

Jakub Marchwicki

Jakub is a software craftsperson with nearly two decades of commercial experience in programming - wearing multiple hats, and getting hands dirty in multiple environments. Some languages, some frameworks, blah blah blah - don’t really matter. Architect, programmer, manager, technical trainer, tech lead, wannabe entrepreneur, JUG leader. There is a fair chance he does non of those right. Jakub divides his time between gaining hands-on projects experience on Hazelcast managed service and sharing it afterwards with the community at conferences or local Java Users Groups.

Caching beyond simple put and gets
Tools-in-Action (BEGINNER level)
Room 5

First things first: when there is caching in the talk title, the famous quote from Phil Karlton must follow. So let's get this one out of the way: there are only two hard things in Computer Science - cache invalidation and naming things.

Yes, caching is hard. It looks simple at first glance, which leads to a simplistic design and implementation. The application starts slowing down: introduce some caches. Simple library, simply put, a few gets, simple invalidation logic (or maybe not). Fast forward, and we end up with even worse bottlenecks. Instead of fixing an issue, we've just covered it with yet another layer of mud: stalled data (already invalid) in services which cannot be scaled out (different data lands on different nodes) and traded latency and read-access time for risk of actually losing the data (eventual writes).

We obviously can do better! In this talk, we will walk through different use-cases (as cache design depends on the use-case) which might require caching. We will look at how caching can be designed and effectively implemented. For the sake of time and fast feedback look, the examples will run on top of Hazelcast managed service.