Don't know about a cluster, but I have recently worked on a distributed system with web servers, database servers and application servers in multiple locations globally.
The servers were all Linux and all the software is available for the Pi.
One database server at each location using MariaDB with multi-master replication. There were a few issues with that, but it could be handled in software.
One web server at each location, accessing the closest available DB server. Running bother Apache and NGinX for different applications.
Each web server used HAProxy as a frontend to handle SSL and to load balance the web servers.
One DNS server at each location which automatically dropped any server that wasn't responding and added it back into DNS when it was back online.