У нас есть требование, когда необходимо реализовать очередь, чтобы мы могли контролировать параллелизм, а не перегружать базу данных. Из мира Microsoft мы решили использовать MSMQ для хранения запросов. Планирование создания 100 очередей (1 для каждого клиента) и параллельная обработка очередей для достижения максимального параллелизма.WCF vs Windows Service: Каков рекомендуемый метод обработки нескольких очередей в MSMQ с дросселированием?
Наша основная цель проекта - разрешить только один вызов на клиента/очередь за раз и обрабатывать каждого клиента самостоятельно.
Мы застреваем в выборе правильной технологии для обработки очередей. Есть два.
Создание службы .NET окна и обрабатывать несколько очередей, используя событие объекта очереди ReceiveCompleted. Здесь у нас есть возможность связать один и тот же метод с несколькими очередями. Необходимо добавить собственный код параллелизма для одиночной очереди, используя некоторую блокировку синхронизации. Reference1
У вас есть несколько служб WCF с WAS для обработки каждой очереди (одна и та же копия для разных очередей, изменение только в имени очереди) и внедрение дросселирования для ограничения параллелизма для каждой службы. Похоже, только одна очередь может обрабатываться службой WCF. Reference2
Какой именно вы предлагаете? Есть ли способ лучше? Пожалуйста помогите нам!!!