Thanks mdaniel for clarification!
I've also found useful links to dive deeper
Is it possible to make redundancy on HAProxy server?
How to setup HAProxy with failover?
It's also a good idea to check out topics such as floating ip, keepalived, and if your vendor have api for changing destination of floating ip here on digitalocean you can check how-to
That is the problem that a Service is designed to solve, and if you are in a cloud environment (or otherwise have an operator that will provision something that looks like a load balancer), then type: LoadBalancer will provision a stable entrypoint from outside the cluster to inside the cluster, and then kubernetes will route around that Node failure.
Pacemaker, Corosync, and DRBD are Linux projects that provide an, "Open Cluster Framework" (OCF), for making generic Linux services HA.
Typically, DRBD synchronously replicates the storage (at the block level), while Corosync and Pacemaker manage which nodes are running which services in the cluster. Services can be controlled via OCF resource-...
So Stonith is not really required.
False. That type of cluster requires a fencing mechanism, whether or not it has shared storage. Only one host should get the cluster resources at any given time, and if the cluster is partitioned that gets very tricky.
To avoid a “split brain” scenario, clusters need a node fencing
mechanism. In a ...
HA with cluster is the only option (from the ones you listed).
Dual-master can lead to unexpected conflicts with unique keys.
rsync will corrupt the database unless you shutdown both source and target. Furthermore, rsync cannot let you write to both Primaries -- it does not know how to do a 2-way sync on database files.
MySQL or MariaDB replication provides ...
While MariaDB and MongoDB support clustering, maybe it can be the better solution for you. nginx supports different way to dispatch requests, including round robin
It depends of the criticity of your architecture ! :)