Я думаю о добавлении функции очереди в продукт, основанный на связке служб WCF. Я прочитал некоторые о MSMQ, сначала я подумал, что это то, что мне нужно, но я не уверен и планирую просто поставить очередь в таблицу базы данных. Интересно, нашел ли у кого-то здесь какие-то отзывы о том, куда идти.MSMQ между службами WCF в среде с балансировкой нагрузки
В основном я планирую иметь функцию WCF для фасада, называемую http. Служба фасада должна только записывать все входящие сообщения в очередь, чтобы быстро реагировать на вызывающую систему. Затем сообщения в очереди должны обрабатываться другим компонентом, либо службой WCF, либо службой Windows, зависящей от моего выбора очереди.
Продукт работает на сбалансированной нагрузке среде с 2-мя веб-серверами.
варианты я рассматриваю и вопросы, которые я получил являются:
- Для того, чтобы фасад WCF писать в MSMQ и затем anothther службы WCF для чтения из этой очереди, чтобы сделать обработку сообщений. То, что я не чувствую уверенности в этой альтернативе из того, что я прочитал, - это то, как это будет работать в условиях сбалансированной нагрузки.
1A. Где должен размещаться MSMQ (ы)? Один на каждом веб-сервере? Один на отдельном сервере? Mulitple на отдельном сервере? (не учитывая необходимость сокращения и данные в редких случаях могут быть потеряны и повторно отправлены)
1B. Как это повлияло на дизайн, если я хочу, чтобы система была избыточной? Я хотел бы быть уверенным, что потеряю сервер (он больше не появляется в сети), удерживая MSMQ, не теряя данные в этой очереди. Из того, что я прочитал о MSMQ, это оставляет мне единственный вариант размещения MSMQ в кластере окон. Это верно? (Я хотел бы избежать использования кластера Windows для этого).
- Второй вариант дизайна - позволить службе WCF фасада записывать очередь в базу данных. Затем выполните две или более службы Windows для обработки очереди. У меня нет вопросов по этой альтернативе. Если вы задаетесь вопросом, почему я не выбираю этот, поскольку мне кажется, что это проще для меня, это потому, что я хотел бы создать это, не представляя каких-либо служб Windows для решения, что я верю в функциональность MSMQ, которую я не хочу код сам, и мне также интересно, как использовать MSMQ, поскольку я никогда не использовал его раньше.
С наилучшими пожеланиями Хакан
Вы упомянули два варианта: центральную очередь или локальные очереди с центральным приемником. Я прочитаю ссылки, которые вы предоставили, возможно, они помогут. Я дам Вам знать. Поскольку я новичок в том, как делать WCF-MSMQ, я не знаю, как то, что я думаю, отличается от «WCF с интеграцией MSMQ». –
«WCF с интеграцией MSMQ» означает использование MSMQ в качестве транспортного протокола вместо HTTP для предоставления вызова WCF службе. –
Как это отличается от того, что «интеграция WCM MSQM» спасает меня от некоторого кодирования? –