2013-03-25 9 views
1

В соответствии с заголовком предположим, что у меня есть веб-сервис WCF, который в определенное время суток будет сталкиваться с огромным количеством трафика/вызовов. Каждый вызов веб-службы вызовет запись в базу данных и чтение из одной базы данных.Какие соображения я должен сделать для потенциально действительно загруженного веб-сервиса?

Технически, что я должен принимать во внимание (если угодно) в отношении защиты базы данных от любых нежелательных эффектов от чтения и записи к ней очень часто?

Кроме того, должен ли веб-сервис WCF кодироваться/структурироваться по-разному с учетом этого?

ответ

1

Есть 2 основных подхода:

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

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

+0

Спасибо большое Шираз, очень полезный ответ. Исходя из того, что будет очередь, я предполагаю, что для записи в эту очередь должен существовать механизм блокировки? Это правильно? Еще раз спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^