Hello , I've read your project description.
First of all , you'll need a clear system architecture for these needs. I think you miss DNS Server, Will you consider this ? If DC1 , goes down , How people redirect too DC2 or DC3?
It can done with Round-roubin or other DNS services.
About Load balancing, high availability and clustering in Nginx , I have good experience and projects, Successful projects at the Governmental and Enterprise level.
About file synchronization it can done with Ceph Clustered file system or a Simple Rsync between three servers. But One of server must be master in rsync.
The Database clustering, Can done with MariaDB Galera cluster with three-node and Load balancing with HAProxy.
I'm relly looking forward to this job because It will be my firsts project in freelancer.
Also Please check my profile for summary of my skills.
I'm available from 08 AM - 11 PM (+3:30 GMT)
Regards