This talk discusses Stripe's experience adopting Consul early on to manage service discovery and configuration. Some key lessons learned include:
- Initial rollouts had issues like memory leaks and TLS verification failures that caused outages
- Watching all services at once in Consul template led to self-DDOS due to high churn
- Stripe encountered goroutine leaks that consumed memory until fixes were merged upstream
- Moving to generate DNS from Consul template improved stability over watching directly
- Incremental rollout, monitoring, limiting scope, isolation and being willing to help upstream improved experience as an early adopter over time.