Я очарован идеей реализовать свой собственный "шлюз" с одной точкой входа, который выполняет две вещи.
Во-первых, он записывает, сколько запросов было обработано SOA-серверами, и повторяет следующий запрос на наиболее доступном сервере. Полный контроль над логикой балансировки нагрузки привлекателен.
Во-вторых, этот «шлюз» будет единственной связью со всеми моими службами, включая безопасность. Если клиент отправляет комбинацию имени пользователя и пароля, он передает их службе безопасности, которая выдает маркер при успешной аутентификации. Если клиент отправляет токен, шлюз запускает этот токен службой безопасности и, если он кошерный, передает запрос одной из бизнес-служб. Сокрытие или инкапсуляция всех служб, кроме шлюза, представляется желательным.
Мои вопросы: есть ли причина, по которой это не было бы "правильным способом делать вещи"? Я заново изобретаю колесо, когда уже есть структура, которая делает то, что я описал выше? Мой стек - .NET и WCF.