Очередь перед вызовом долго работающей службы WCF из рабочего процесса? - PullRequest
2 голосов
/ 20 ноября 2011

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

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

Точно так же, каков идеальный дизайн для управления проблемами доступности услуг в рабочем процессе?

1 Ответ

1 голос
/ 13 декабря 2011

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

Я хотел бы рассмотреть возможность использования очередей Azure ServiceBus или MSMQ

...