Учитывая архитектуру микросервиса, где каждому пользователю требуется настройка, специфичная для микросервиса, будет ли микросервис auth действовать как источник правды для этого параметра или предпочтительнее управлять этим параметром в микросервисе, который он использует в?
Например, может существовать микросервис Auth
и Ordering
. У каждого пользователя может быть разное количество заказов, которые он может разместить за день. Куда приведет этот предел?
Я вижу два подхода:
- Сделать микросервис
Auth
источником правды для этого предела, добавив поле OrderLimit
кUser
записей в базе данных. Это потребовало бы добавления команд, связанных с Ordering
концепциями против пользователя, что можно было бы расценить как нарушение функций микросервиса Auth
(не уверен, что это правда?) - Сделать микросервис
Ordering
Истину истины для этого предела, заполнив собственную таблицу User
, подписавшись на события UserRegistered
из микросервиса Auth
. Добавьте поле OrderLimit
к этой таблице в микросервисе Ordering
и предоставьте команды для изменения этого параметра.
Один из этих подходов лучше другого или есть другой подход, которым я не являюсьв курсе?