Вы имеете в виду, потому что запросы блокируют работу?
Do может использовать OneWay
OperationContract
для создания асинхронных служб, чтобы не блокировать пул запросов.
[ServiceContract]
interface IMyContract
{
[OperationContract(IsOneWay = true)]
void DoWork()
}
Обновление
Я думаю, теперь ваш вопрос лучше понятен, вы стремитесь распределить нагрузку на разные серверы, чтобы избежать узких мест в запросах из-за большой нагрузки трафика (желательно распределенной на основе контента).
Я бы сказал, что MVC Routing
действительно идеально подходит для этого.Одной из возможностей, которую вы можете использовать, является функциональность «падение».На самом деле вы можете определить несколько конечных точек резервного копирования, и в случае сбоя одного из них он автоматически перейдет к следующему.Здесь есть хорошее введение в то, как это работает здесь .
Здесь также есть хорошая статья, в которой говорится о балансировке нагрузки с использованием WCF с использованием тех же принципов.Он предоставляет 2 решения для реализации Round Robin Filter , которая позволяет вам балансировать нагрузку на запросы на обслуживание (хотя в начале он говорит, что в общих чертах он отвечает, поддерживает ли он балансировку нагрузки, по причинам, связанным с реализацией).
Если вы беспокоитесь о том, что все запросы маршрутизируются через один сервер и все еще становятся узким местом, подумайте о балансировщиках веб-нагрузки.Это тот же сценарий.Нахождение посередине пересылаемых пакетов не требует большой работы, и у них нет проблем с обработкой огромных объемов трафика.Я не думаю, что это проблема ИМО.