Монолит к микросервисам

Heeeey,

Я должен создать дорожную карту для сайта, который хочет перейти с монолитного сайта на сайт микросервисов. Теперь я понимаю, что вы должны делать это шаг за шагом, но я не уверен, какие именно задачи необходимо выполнять на каждом этапе. Может ли кто-нибудь помочь мне определить эти подробные данные?

заранее спасибо

1 ответ

Учитывая, что это очень широкий вопрос, я бы предложил следующие рекомендации:

  • Не делайте рефакторинг всего сразу - невозможно сделать это правильно.

  • Относитесь к Монолиту как к черному ящику с некоторыми API. Они не обязательно должны быть API-интерфейсами RESTful - подумайте о способах взаимодействия с ним.

  • При добавлении новых функций создайте отдельные (микро) сервисы с API для каждого из них и попросите их взаимодействовать с API The Monolith.

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

  • Как только вы видите, что всплывают ограниченные контексты, может быть удобно разделить их на Монолит и заставить их работать как отдельные сервисы.

  • С микросервисами вам потребуется гораздо больше автоматизации, чем раньше. Заранее подумайте о непрерывной интеграции и непрерывном развертывании (CI/CD), контейнерах и репозитории, централизованном ведении журналов и мониторинге.

Я бы порекомендовал получить краткую обобщенную идею, прежде чем перейти к вашей конкретной проблеме. Это может быть хорошим началом.

Другие вопросы по тегам