Rentalcars accelerates online performance with Couchbase caching - Connect Europe 2017
CACHES @ RENTALCARS.COM
• Year 2013
• Lots of stand-alone caches
• Mostly JCS / EHCACHE
• Stress on backend systems when the application servers were restarted
• Need for a distributed cache?
• Two distinct classes of objects in the cache. Shareable & Exclusive.
• Ketama hashing & Memcached.
• Battle tested (Facebook /
Livejournal / many more)
• Memcached is notorious for the
cold cache problem.
• Wouldn't have reduced the
backend stress in our case.
• We kept looking for something
COUCH BASE EVALUATION
• Comparative study with MongoDB etc.
• The winning features of Couchbase were:
• Better performance characteristics due to the built-in cache
• Better built-in monitoring facilities
• Easier to scale out
• Flexible XDCR features
USE CASES @ RENTALCARS.COM
• Multiple Clusters spread across two datacenters, serving customer
facing traffic and backend applications.
• Search result cache
• Website Session store
• Document store for Email newsletter system
SEARCH RESULT CACHE
• Caches the car search results for short amounts of time.
• Uses low TTLs to expire documents
• High throughput, high turnover cache
• Low latency is of prime importance
WEBSITE SESSIONS CACHE
• Sessions need to be shared across multiple application servers.
• Ensures that the user always finds a valid session.
• Sessions need replicating across data center in case we decide to
take one down for maintenance.
AN EMAIL NEWSLETTER SYSTEM
A NEW PROJECT
• The architects needed a JSON document store.
• To keep track of email history and preferences per user.
• To allow us to manage semi-structured data / email contents and
• Couchbase fit the bill
JOURNEY SO FAR
• On-site training delivered by Couchbase to upskill the team.
• Support has been very responsive and always present to help out.