Syncronize Instances

hey community,
I am planning to extend my current nextcloud setup.

What I want to do:
I want to have 2+ Identical servers that run nextcloud. They will be running at different locations (e.g. berlin and amsterdam).

Server Setup: 1TB HDD, Debian

Server Amsterdam: Domain: amsterdam.example.com
Server BERLIN : Domain: berlin.example.com

what I want to achieve is that they are always in sync.
They should have the same users, same files etc.

If a user uploads a file on server BERLIN it should automatically sync the file to server AMSTERDAM (in background).

Why do I want this?
I want to make sure that at least one server is always up and has all the data on it, especially contacts/calendar.

Is there any solution for this? Or similar?

There are some multi-server setups in the deployment examples:
https://docs.nextcloud.com/server/11/admin_manual/installation/deployment_recommendations.html

You could run two independent webservers and connect them to a common (or individual and synchronized) storage backend and database. So that extends your question how to deploy synchronized storage backends (glusterfs etc.). Similar questions have been asked a few times and some provided some ideas how to realize it. Check also the old owncloud forum: forum.owncloud.org.

The enterprise support of Nextcloud probably deals more often with larger setups and has some experience. Not sure if enterprise subscription is an option for you. From the Nextcloud/Owncloud conference there have also been some talks (should be on youtube) of larger implementations (CERN/Sciebo) but they were mostly in one datacenter.