Grab
Grab logoGrab · Feature trail

Redis Data Consistency and Replication

3 posts · Jan 2018 – Sep 2020

What this trail covers

Grab has evolved its Redis data consistency and replication strategies by addressing issues where pipeline calls could crash Redis clusters. This involved analyzing the Go-Redis client's behavior during node unreachability, specifically how it maps commands to nodes and the delay in state updates. The team identified that a single command failure within a pipeline could cause the entire pipeline to fail, and that the client's one-minute state refresh interval led to prolonged unavailability when nodes were patched for security vulnerabilities like Meltdown. To mitigate performance impacts, Grab added additional shards to clustered Redis instances and provisioned more nodes or switched to Redis Cluster for non-clustered instances. For systems requiring significant code changes, service teams implemented data sharding across multiple nodes. These mitigations were performed over 24 hours to ensure no consumer-facing impact during peak traffic.

All Grab trails