@stacksofplates said in how do you deal with SPOF with HAproxy:
Keepalived is most likely what you're looking for. You assign a VIP to your interface and it keeps a heartbeat between the systems. The VIP (floating IP) will move between systems if there is an issue.
Once that's set up, use Serf to update your HAProxy configs or Consul for automatic service discovery which HAProxy can read.
If you're using a cloud provider, I'd just use one of their provided load balancers.
+1 for serf but I can not find any doc about serf as a distributed config (as consul).
I know about serf as a discovery/alive tool only...