Out of curiosity why do you use two servers?
same company, 2 countries, 2 headoffices, they run a separate operation in each country. Users in each country work off the server located in their country. Now they want to sync certain information?
The "best" way would depend on many factors:
Do servers edit the same records?
How much data? Containers?
Need for Speed? Do you need to sync every couple min or every other day?
And time and budget in general.
The quick and dirty way would be to just use external data source and create to's and layouts and script the record syncing. You could also use Import and import changed or new records. But you'll have to worry about conflicts, failures and record-locking using these methods.
Another way would be use a transactional model where you create a change record for each edit. That way you overcome record-locking as you also add records and can script around failures.
There are also some commercial products like GoZync and MirrorSync which can handle this. There is also the open-source "EasySync" although the developer has stopped working on it.