Веб-служба или веб-службы

Я нахожусь в процессе создания приложения, которое будет взаимодействовать с одним сервером, на котором будут установлены веб-службы WCF. Я немного новичок в этом процессе, и мне было интересно, какой из этих двух вариантов будет лучше в долгосрочной перспективе для обработки нагрузки для значительного количества пользователей:

1- Создайте и установите одну веб-службу на многоядерном сервере для связи всех клиентских приложений.

2- Создайте и установите несколько веб-служб на многоядерном сервере, каждая из которых будет взаимодействовать с разными модулями внутри клиентского приложения.

В общем, я просто пытаюсь выяснить, есть ли во времени обработки и при большом количестве пользователей существенная разница между вариантами 1 и 2, или вариант 2 просто создаст ненужную головную боль при программировании.

Спасибо,

Патрик


person Patrick K    schedule 25.10.2010    source источник


Ответы (1)


Преимущество наличия нескольких веб-сервисов заключается в том, что каждый из них может иметь свой собственный пул приложений (т. е. рабочий процесс) в IIS. Таким образом, вы можете повторно использовать один пул приложений для одной веб-службы, не затрагивая другие.

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

Итак, вопрос в том, каков правильный уровень детализации?

Вы можете разделить веб-службы по бизнес-функциям, и я считаю, что это хороший подход. Например, если у вас есть бизнес-методы, связанные с выставлением счетов, вы можете поместить их в веб-службу выставления счетов.

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

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

Пример Вы можете увидеть реальный пример такого разделения с помощью Федерал Экспресс. Обратите внимание, как они разделяют свои веб-сервисы по доставке, отслеживанию, видимости и т. д.

person dcp    schedule 25.10.2010
comment
+1. ИМЕННО так бы я ответил, и как мы разделили наши веб-сервисы - по функциональности. - person David; 25.10.2010
comment
Большое спасибо! Это объяснило плюсы и минусы намного лучше, чем все, что я нашел через Google. - person Patrick K; 25.10.2010
comment
То, что у вас есть только один сервис, не означает, что вы должны поместить весь код в один файл. Вы можете иметь правильно структурированный бизнес-уровень и по-прежнему использовать один сервисный уровень в качестве фасада. :) - person Johann Blais; 26.10.2010