Микросервисы представляют собой набор руководящих принципов, которые рассказывают о том, как разработать приложение, чтобы оно было масштабируемым, управляемым и адаптировалось к быстрым темпам разработки.Речь идет не только о том, как вы развертываете свое приложение.
За прошедшие годы мы узнали, что когда вы пытаетесь создать одно большое приложение в виде монолита, изначально оно дает вам темп, различные модули в вашем монолите имеют полную видимость друг друга и могут получать доступ к вещам, настраивать их какони хотят, чтобы даже одно изменение, которое должно повлиять на один модуль, могло перейти в другие классы, где это не должно было быть.Хотя это помогает вам создавать прототипы, но код становится все менее и менее обслуживаемым.Вы, конечно, можете приложить усилия, чтобы убедиться, что ваш код остается чистым, но эти усилия растут с ростом приложения.
Кроме того, вам, как разработчику, необходимо знать весь продукт, и трудно работать в изолированном пространстве, не беспокоясь о всей архитектуре, что затрудняет присоединение и внесение изменений новыми людьми.
Далее при развертывании, особенно сегодня, важен масштаб, и вам необходимо адаптироваться к трафику.Все ваши модули не будут ожидать высокого трафика 24/7.Но если у вас есть монолит, даже если 100 пользователей используют один модуль, ваше приложение должно масштабироваться для 100 пользователей.
Микросервисы просто извлекают из этого информацию и определяют некоторые рекомендации
Вы должны разбить свое приложение на основе бизнес-доменов.Каждый сервис отвечает только за один аспект.Они общаются друг с другом через контракт (API или события), и пока контракт остается в силе, вы можете делать то, что вы хотите в рамках своего сервиса.Новому разработчику необходимо освоить только один сервис.
Масштабирование становится легким, потому что если у вас есть нагрузка на один сервис, то он будет масштабироваться.Другие модули, развернутые независимо, могут масштабироваться в зависимости от конкретной нагрузки.
Сохраняя его небольшим, вы можете быстро строить, быстро вносить изменения.Нет общей базы данных, убедитесь, что вы звоните о том, что вы хотите сохранить, как вы хотите сохранить и как вы хотите изменить.
Для вашего случая, просто разверните его так, как вы хотите.Вы думаете, что лучше.Но если вы начнете расти, у вас будет около 50 странных услуг (или проект такого масштаба), вы увидите преимущества «разделяй и властвуй».