2013-05-02 3 views
-1

Мне нужно написать очень простой сервис Windows, который позволяет внешним приложениям ставить объекты в очередь, пока служба дежурит одновременно. Простая служба FIFO, в которой я могу запустить около 5 рабочих процессов для удаления из очереди.Самый лучший и самый простой многопоточный сервис обслуживания очереди обслуживания?

Я читал некоторые о ConcurrentQueue и думаю, что это может быть моим лучшим решением. Может быть?

+0

Почему голос? – DDiVita

+0

Каково ваше решение? –

+3

Я не знаю про голос, но вы можете уточнить: ищете ли вы решение в процессе? Или как насчет базы данных? Или промежуточное программное обеспечение, такое как msmq или любое другое программное обеспечение очереди? Или любой из десятков баз данных nosql? Есть десятки способов сделать это, при этом никто не объективно «лучше», если вы не добавите больше контекста. Например, какой уровень надежности необходим? Что произойдет, если рабочий отключен? Имеются ли данные? Или он не может быть поставлен в очередь, когда рабочий отключен? Вам нужны несколько рабочих процессов? И т.д? –

ответ

2

Я бы порекомендовал вам взглянуть на шину обмена сообщениями, например, RabbitMQ. RabbitMQ предоставляет вам безопасный способ обработки этих сообщений.

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

У вас есть несколько простых в использовании примеров here, чтобы вы начали.

Смежные вопросы