Как насчет размещения WCF в Azure и масштабируемости? - PullRequest
6 голосов
/ 18 мая 2011

Я хочу разместить свои службы WCF в облаках Azure из соображений масштабируемости. Например, будет служба аутентификации пользователей. И это будет под высокой нагрузкой (1000+ пользователь / сек).

Кто-нибудь здесь имеет реальный опыт размещения служб WCF в облаке Azure с высокой нагрузкой на пользователя?

Каковы лучшие практики, шаблоны здесь?

Есть ли в Azure API для балансировки облака для таких задач?

Спасибо, Кирилл.

1 Ответ

7 голосов
/ 19 мая 2011

РЕДАКТИРОВАТЬ 9 апреля 2014 г. - обновлено с последними целями масштабируемости

Балансировщик нагрузки Windows Azure направляет трафик на все экземпляры вашей веб-роли или рабочей роли. Итак, нагрузка распределяется.

Когда вы настраиваете конечную точку службы WCF, она по существу будет существовать во всех экземплярах роли, поэтому вы можете масштабироваться до любого количества экземпляров виртуальных машин, чтобы повысить способность обработки трафика. Тем не менее, вы должны иметь дело с нижними точками газа. Например, если вы читаете из / записываете в хранилище таблиц Azure со всех хостов службы WCF, вы ограничены 500 2000 транзакций в секунду для каждого раздела таблицы. Каждая учетная запись хранения поддерживает максимальный целевой показатель в 20 000 транзакций в секунду (для которого вам потребуется несколько разделов из-за ограничения в 2 КБ / с для отдельного раздела).

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

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

РЕДАКТИРОВАТЬ: В Windows Azure Platform Training Kit .

имеется несколько лабораторных работ, связанных с WCF.
...