Отправка центральной конфигурации микросервисам в .net core

#asp.net-core #.net-core #microservices

Вопрос:

Я изучаю, как создать централизованное хранилище данных для мультитенантного приложения. Это приложение для микросервисов.

Например, у каждого арендатора будут разные значения для некоторых ключей. У некоторых арендаторов будут свои собственные уникальные ключи, но давайте предположим, что на данный момент они все одинаковы.

У меня есть один микросервис, отвечающий за настройку клиента.

Мне нужно, чтобы эта конфигурация была передана всем другим микросервисам, чтобы каждая вспомогательная служба могла иметь свою собственную копию конфигурации и не полагаться на работу службы конфигурации.

Для меня это должна быть инфраструктура, а не пользовательский код C#, но я новичок в области микросервисов, поэтому мне интересно, существует ли известный подход.

Я рассматривал возможность использования MassTransit/сообщений, но тогда разве не каждому микросервису нужен дублированный класс POCO/Contract? Кроме того, если требуется новый ключ, все микросервисы должны быть обновлены и развернуты, что нарушает назначение микросервисов.

Короче говоря, как у меня может быть микросервис конфигурации, синхронизирующий данные конкретного клиента с несколькими другими микросервисами?

Комментарии:

1. Почему бы не использовать общую базу данных в качестве базовой платы для служб, например Cosmos DB?

2. Используйте такие службы, как Azure AppConfiguration или launchdarkly , если ваши службы имеют доступ к Интернету. Оба обеспечивают очень хорошо документированную интеграцию в net (ядро)