непрерывная обработка - PullRequest
       3

непрерывная обработка

2 голосов
/ 26 февраля 2011

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

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

Механизм обработки должен быть единым процессом, который работает непрерывно и обрабатывает очередь (без непосредственного вызова) в порядке, основанном на связке логики biz.

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

  • Возможно ли сделать это стабильно в asp.net?
  • Было бы лучше сделать это как WCF, размещенный в Windows Service?
  • Другие предложения или методы для достижения этой цели?

Спасибо, что прочитали это, и я ценю вашу помощь и предложения

Примечание:

Я использовал MSMQ для передачи данных. Есть ли в любом случае, что вы можете автоматически вызывать процесс для запуска при получении сообщения (или если есть сообщения в очереди MSMQ (я не знаю много о MSMQ)).

Например, клиент A отправляет сообщение MSMQ клиенту B через очередь Q. Q было пустым. Клиент B теперь имеет сообщение в Q.

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

Ответы [ 3 ]

3 голосов
/ 26 февраля 2011

Служба Windows, которая будет обрабатывать очередь, является классическим способом сделать это. Он имеет много преимуществ, в том числе возможность запуска при перезагрузке, хорошую возможность написания сценариев для управления (WMI), поэтому sysadmins также будет его предпочитать.

Держите его отдельно от службы WCF - вы должны использовать его для помещения заданий в очередь.

2 голосов
/ 26 февраля 2011

Возможно ли сделать это стабильно в asp.net?

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

Было бы лучше сделать это как WCF, размещенный в WindowsСервис?

Вероятно, это лучший вариант.Это даст вам возможность использовать более высокопроизводительные каналы связи (чтобы помочь пропускной способности ваших «многочисленных запросов»), хороший контроль и т. Д. Это также значительно снижает накладные расходы, поскольку вам не нужно настраивать IIS для его запуска, еслиты сам хозяин.

1 голос
/ 26 февраля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...