Как мне разработать микросервисы и API в глобальном масштабе? - PullRequest
0 голосов
/ 04 июня 2018

У меня возник вопрос по поводу глобальной доступности API и производительности.По сути, мы хотели бы создать API, который является центральным для нашего бизнеса, но он должен быть высокодоступным и иметь высокую производительность во всем мире, то есть время отклика API должно быть минимальным независимо от того, осуществляется ли вызов в США, Китае илилюбая другая страна в мире.API на самом деле является интерфейсом в архитектуре микросервиса, управляемой доменом.В настоящее время мы используем Microsoft Azure в качестве нашего облачного провайдера для размещения этих микросервисов, но я хотел бы получить некоторые предложения по разработке решения, обеспечивающего эту производительность во всем мире.Нужно ли нам развертывать сервисы в нескольких регионах, чтобы иметь возможность работать?Если это так, как бы я направил входящий запрос в соответствующий регион?

1 Ответ

0 голосов
/ 05 июня 2018

Я бы разделил ваши данные по регионам, используя имя пользователя в качестве ключа раздела.Распределяйте ваши микросервисы и базы данных по всему миру в соответствующих местах, но сохраняйте одну центральную службу входа в систему.Когда пользователи регистрируются в вашей центральной службе регистрации, вы назначаете им регион в зависимости от их домашнего адреса, IP-адреса или другого географического показателя.Когда они возвращаются для входа во второй раз (используя центральную службу), вы аутентифицируете их и извлекаете их регион из центральной БД.Теперь вы можете направить весь дополнительный трафик в соответствующий регион для лучшей производительности.

Вам потребуется реализовать полный набор доменов в каждом регионе.

...