Как я могу улучшить время отклика, если удаленный сервер находится на очень большом физическом расстоянии? - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу знать, как физически построить серверы в этой ситуации.

Давайте предположим, что мой сервис предоставляет в США.

И мой бизнес довольно успешен, поэтому я хочу расширить свое присутствие в Азии.

но я не хочу локализовать службу, поэтому я только что получил какой-то API-сервер в Азии для предоставления службы, которая просто использует API, расположенный в головном офисе, но мои основные компоненты все еще находятся в США.

Но проблема в том, что мой API, который находится в Азии, должен вызывать API головного офиса, который находится в США, и ответ довольно медленный из-за большого физического расстояния.

так В этой ситуации, как я могу преодолеть?

По-моему, я получил немного CDN для статического содержимого. но я понятия не имею, как улучшить проблему времени отклика API, которая возникает на физическом расстоянии.

Если это глупый вопрос, пожалуйста, поймите, я довольно новичок в архитектуре.

EDIT: Кроме того, как я могу построить репликацию базы данных в этой ситуации.
Если я получу репликацию из США в Азии, я думаю, что производительность репликации довольно низкая из-за физического расстояния.
Как Amazon или какой-либо глобальный сервис строит это?

1 Ответ

0 голосов
/ 04 сентября 2018

Производительность репликации может быть довольно низкой. Важно понимать, какая часть ваших данных изменяется, чтобы вы могли оценить требуемую пропускную способность и понять, может ли ваша репликация выдерживать нагрузку.

Amazon и другие глобальные сервисы решают эту проблему с помощью комбинации репликации, пограничного кэширования (CDN) и других методологий, которые приближают данные к потребителю.

В качестве первого шага вам также может понадобиться сделать более грубый API. Чем меньше звонков вам нужно сделать, тем выше производительность (поскольку проблема, скорее всего, в задержке, а не в пропускной способности). Посмотрите, можете ли вы сгруппировать вещи вместо того, чтобы обрабатывать их по одному.

Вы также можете критически взглянуть на кеширование. Вместо того, чтобы постоянно выполнять вызовы API только для чтения, добавьте несколько заголовков управления кэшем, чтобы указать приемлемый возраст ваших запросов. Многие данные очень статичны, такие как пользовательские данные, отделы, информация о продукте и т. Д. ... Некоторые из этих данных могут использовать уровни кэширования для повышения производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...