Монолит к микросервисам
Heeeey,
Я должен создать дорожную карту для сайта, который хочет перейти с монолитного сайта на сайт микросервисов. Теперь я понимаю, что вы должны делать это шаг за шагом, но я не уверен, какие именно задачи необходимо выполнять на каждом этапе. Может ли кто-нибудь помочь мне определить эти подробные данные?
заранее спасибо
1 ответ
Учитывая, что это очень широкий вопрос, я бы предложил следующие рекомендации:
Не делайте рефакторинг всего сразу - невозможно сделать это правильно.
Относитесь к Монолиту как к черному ящику с некоторыми API. Они не обязательно должны быть API-интерфейсами RESTful - подумайте о способах взаимодействия с ним.
При добавлении новых функций создайте отдельные (микро) сервисы с API для каждого из них и попросите их взаимодействовать с API The Monolith.
Через некоторое время вы увидите, что к частям вашего Монолита обращаются только через ваши новые API. Хотя они все еще являются частью базы монолитного кода. Перемещайте возможности по вертикали, отделяйте основные возможности от своих данных и перенаправляйте все внешние приложения на новые API.
Как только вы видите, что всплывают ограниченные контексты, может быть удобно разделить их на Монолит и заставить их работать как отдельные сервисы.
С микросервисами вам потребуется гораздо больше автоматизации, чем раньше. Заранее подумайте о непрерывной интеграции и непрерывном развертывании (CI/CD), контейнерах и репозитории, централизованном ведении журналов и мониторинге.
Я бы порекомендовал получить краткую обобщенную идею, прежде чем перейти к вашей конкретной проблеме. Это может быть хорошим началом.