Я работаю над созданием набора корпоративных услуг с использованием WCF 4 в своей организации и могу использовать некоторые рекомендации. Настройка/архитектура, которые я разработал до сих пор, похож на легкий пользовательский ESB. У меня есть одна главная услуга «брокер» (с использованием wsHttp), которая соединяется с тремя базовыми услугами netTcp. Оба брокера и базовые службы имеют общую сборку, содержащую модель, а также контрактные интерфейсы. В брокерской службе я могу выбрать, какие операции из базовых услуг я хочу открыть. Идея заключается в том, что потенциально у нас может быть ядро набора услуг и несколько разных брокеров, в зависимости от потребностей бизнеса. Мы планируем разместить все (включая услуги netTcp) в IIS 7.5, используя AppFabric и WAS.WCF Routing/ESB Architecture?
Вот мой вопрос, такая хорошая практика и будет ли она масштабироваться? Эти службы должны иметь возможность обрабатывать тысячи транзакций в день.
Я играл с маршрутизацией в WCF 4 вместо концепции обслуживания брокера, о которой я упомянул, однако, не видел в ней большой ценности, поскольку он просто перенаправляет.
Я также пытаюсь выяснить, как оптимизировать прокси-серверы, которые брокерская служба (при условии, что эта практика рекомендуется) имеет базовые услуги. Сейчас у меня просто есть доверенные лица в качестве частных членов в основном классе брокеров. Пример:
private UnderlyingServiceClient _underlyingServiceClient = new UnderlyingServiceClient();
Я рассмотрел кэширование прокси, однако, беспокоит то, что если я запускаю в вино, что все прокси в этой точке будет неисправными и не может быть использовано повторно (если я не поймать ошибку и просто повторное создание экземпляра).
Моя цель заключается в обеспечении того, чтобы клиент, потреблявший их, мог «как можно быстрее получить доступ и выйти». Быстрый запрос-ответ.
Любой вход/обратная связь будет принята с благодарностью.