Смысл ответа Тома в том, что вы не используете какой-либо кластер, вы просто пишете на два сервера.Это проблема, если вы хотите обеспечить согласованность между ними.Подумайте, что происходит, когда вашему клиенту не удается выполнить запись на удаленный сервер.Вы отменяете запись в местном?Что происходит с приложением, когда вы не можете написать на удаленный сервер?Что происходит, когда вы не можете читать с местного?
Второй улов - проблема фундаментальной физики, которую поднимает Джошуа.Для двусторонней передачи вы говорите теоретический минимум 38 мс, оставляя теоретическое максимальное время обработки на обоих концах (из трех систем) 12 мс.Я бы сказал, что ожидания слишком велики, и пропускная способность в этом случае не имеет отношения к задержке.Вы могли бы иметь канал 10 ГБ, и эти сроки все еще существуют.Тем не менее, передача 5 КБ через континент за 12 мс также требует больших затрат.Вы уверены, что у вас есть возможность подключения для передачи 5 КБ данных за 50 мс, не говоря уже о 12?Я был на частных каналах без использования по всему континенту и видел, что время пинга превышает 50 мс - и пинг не передает 5 тыс. Данных.
Как вы будете поддерживать синхронизацию двух не связанных серверов?Если вам действительно требуется задержка менее 50 мс на континенте, приведенный выше теоретический лучший вариант означает, что у вас есть 12 мс для запуска алгоритмов синхронизации.Даже один запрос для проверки данных на другом сервере означает, что вы находитесь за пределами окна 50 мс.Если данные не синхронизированы, как вы это исправите?Учитывая вышеприведенное время, я не понимаю, как можно синхронизировать менее 50 мс.
Я бы порекомендовал пересмотреть основные требования к дизайну.В частности, почему это требование?Требования к задержке в 50 мс в оба конца по континенту обычно являются признаком маркетинга или отсутствия внимания к деталям.Держу пари, что если вы проанализируете требования, вы обнаружите, что это окно 50 мс является чрезмерным и ненужным.Если это не так, и синхронизация данных на самом деле важна (вероятно), то кому-то нужно будет определить, стоит ли значительных дополнительных усилий для написания кода синхронизации или вообще возможно удержаться в пределах окна 50 мс.Синхронизация данных между континентами до 50 мс не простая задача.
Если вам не нужна синхронизация, почему бы просто не запустить один сервер?Вы можете использовать раба на другой стороне континента только для целей восстановления.Конечно, это по-прежнему означает, что в лучшем случае у вас есть 12 мс для передачи данных туда и обратно.Я бы не стал рассчитывать на 50 мс туда-обратно + задержка + 5к / 10к передача данных по всему континенту.