У меня ниже требования в архитектуре микросервиса.Мой проект, относящийся к типу Azure Service Fabric, службы без сохранения состояния и с сохранением состояния в Dot Net Core.![enter image description here](https://i.stack.imgur.com/iWRtk.png)
Всего 3 службы без сохранения состояния и 3 с сохранением состояния в этом проекте.
Для каждой службы с сохранением состояния мы создали одну службу без сохранения состояния в качестве шлюза к этому.
Мы будем хранить данные в службе с сохранением состояния, а с помощью функции без сохранения состояния мы будем отправлять и извлекать данные.
Для целей связи мы будем использовать прокси-сервер службы (т. Е. Интерфейс, реализованный в IService).
Я могу легко вызывать методы stateful1 из stateless1, но у меня есть требование, как будто мне нужны данные из stateful1, которые зависят от stateful 2 и stateful 3.
У меня есть некоторая бизнес-логика между каждой службой с состоянием,
В настоящее время я создаю прокси-сервер службы на statful1 и собираю все данные с состоянием 2 и 3, и после того, как все данные будут переданы, будут отправлены без сохранения состояния.
У меня возникнет вопрос: лучше ли иметь одинеще слой, называемый репозиторием (проект библиотеки классов, используемый лицами без состояний), который будет связываться с каждой службой с состояниемd comupte бизнес-логика?
или Если анти-бизнес-логика в состоянии с состоянием будет влиять на производительность, вместо того, чтобы иметь бизнес-логику в состоянии без состояния.
Я взял простой пример из 3 без состояния и 3 с состояниемНо на самом деле мой проект состоит из более чем 50+ сервисов, каждый из которых имеет шлюз и сервис с сохранением состояния.Между каждым сервисом с отслеживанием состояния, который мне нужно написать, больше бизнеса.
Пожалуйста, предложите мне лучший подход для выполнения этого требования.