Боюсь, вы еще не найдете много полезных рецептов или шаблонов для микросервисных архитектур.Я думаю, что относительная тишина в вашем вопросе заключается в том, что в нем недостаточно деталей, чтобы кто-то мог их легко понять.Я сделаю вираж:
Исходя из первых принципов, у вас есть концепция цитата , которая должна была бы опросить продукт , чтобы узнать цену и другие детали.Может потребоваться доступ к пользователям для получения комиссионной информации и клиентам для таких вещей, как скидки и сроки поставки.Подобные понятия могут использоваться в разных приложениях;например инвентарь , каталог , заказ [немного отличается от цитата ].
Идея в микросервисах заключается вуменьшить дублирование между этими концепциями, распределяя обычные операции как свои (микро) сервисы и создавая совокупные сервисы с точки зрения их.То, что что-то существует как услуга, не означает, что она должна быть общедоступной.Он может быть закрытым только для этих служб.
Когда вы напрягаете свою систему в этих службах с одной функцией , получающаяся система будет взаимодействовать больше, но сможет развернуться более гибко.Например, больше ресурсов & |избыточность может быть применена к услуге product , если она перегружена запросами многих служб.В конце концов, инфраструктура, такая как сервисная сетка, помогает изолировать реализацию этих микросервисов от разного рода соображений развертывания.
Не думайте, что это бесплатный обед.Микросервисные архитектуры требуют дополнительной предварительной работы по определению границ обслуживания.Отказ в этой критической области может привести к гораздо худшим проблемам, чем плохо масштабируемое монолитное приложение.Даже если вы правильно определили свои услуги, вы можете обнаружить, что они полагаются на внешние службы, которые не так хорошо рассматриваются.Единственное утешение в том, что от них гораздо легче изолировать себя, если вы уже изолировали остальную часть своей системы от ее частей.