powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Message queue. Какой представитель лучше ? Или проще через DB вообще ?
7 сообщений из 7, страница 1 из 1
Message queue. Какой представитель лучше ? Или проще через DB вообще ?
    #39015476
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Нужно решить простенькую задачку: извне системы поставляются задачи, которые нужно обрабатывать.

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

Классическая задачка Producer-Consumer, но распределенная.
Данный вид задач традиционно можно решить двумя способами: через базу данных, или через очереди сообщений.

Что лучше в настоящее время ? Использовать ли MS Sql 2012. либо Message-oriented middleware типа ZeroMQ, RabbitMq и прочее.

Что интересного и эффективного есть в настоящий момент, может кто-то в теме ? Желательно, конечно, применительно к .NET платформе.
...
Рейтинг: 0 / 0
Message queue. Какой представитель лучше ? Или проще через DB вообще ?
    #39015556
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут всё от способностей зависит (ц)

1. SQL Server база
2. SQL Broker
3. Redis

и еще много всякого, но как для меня - хватило бы уже этих трёх, точнее одного из них
...
Рейтинг: 0 / 0
Message queue. Какой представитель лучше ? Или проще через DB вообще ?
    #39015569
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh,

Но зачем пункты 2 и 3 ? Как я понимаю (только что погуглил) они нужны лишь в условиях нескольких БД, синхронизированных между собой ?
Этого мне не нужно.

У меня все простенько. Через Wcf приходит запрос, который не хочу обрабатывать в самом сервисе. Хочу, чтобы он отправлял это сообщение в очередь либо в БД. А уже другой сервис/сы берут задание в обработку.
Нужно принимать заявки. Затем их обрабатывать - при этом привлекаются работники склада, т.е. компьютер сам по себе ее не сделает. Затем отправлять на почту сообщение о выполнении задачи.

По идее можно, это организовать через БД, но вот думаю не попробовать ли очереди сообщений :) Для чего то же их создали.
...
Рейтинг: 0 / 0
Message queue. Какой представитель лучше ? Или проще через DB вообще ?
    #39015584
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekWinnipuh,

Но зачем пункты 2 и 3 ? Как я понимаю (только что погуглил) они нужны лишь в условиях нескольких БД, синхронизированных между собой ?
Этого мне не нужно.

У меня все простенько. Через Wcf приходит запрос, который не хочу обрабатывать в самом сервисе. Хочу, чтобы он отправлял это сообщение в очередь либо в БД. А уже другой сервис/сы берут задание в обработку.
Нужно принимать заявки. Затем их обрабатывать - при этом привлекаются работники склада, т.е. компьютер сам по себе ее не сделает. Затем отправлять на почту сообщение о выполнении задачи.

По идее можно, это организовать через БД, но вот думаю не попробовать ли очереди сообщений :) Для чего то же их создали.

Было написано, что ", но распределенная.", вот я и написал.
Всё, естественно, от задачи зависит. Если один потребитель очереди, то все проще, но и в этом случае SQLBroker Queue может быть полезной. И в Redis можно делать хорошие реализации очередей, причем что важно - просто, без задвигов типа ZeroMQ и т.д.
...
Рейтинг: 0 / 0
Message queue. Какой представитель лучше ? Или проще через DB вообще ?
    #39015629
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh,

Спасибо за наводку на Reddis. Интересная штука. Нужно подумать для чего его можно в принципе прикрутить.
Также сейчас по изучаю, что это за штука такая - SQLBroker Queue.

Вообще. Насколько я понимаю у очередей есть два плюса:

1. Возможность настроить раздачу задач по условию. По приоритетам, по фильтру.
Но это можно реализовать и в простой БД, через хранимую процедуру.
2. Возможность "закрепить" сообщение за тем, кто взял его в обработку.
Но и тут не вижу проблемы. Простой UPDATE + OUTPUT автоматически "забронирует" задачу за тем кто ее считывает.

Вот и думаю. Для чего они, эти очереди вообще. Решил приобщиться потихоньку. Интересно.
...
Рейтинг: 0 / 0
Message queue. Какой представитель лучше ? Или проще через DB вообще ?
    #39015635
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Однако то, что Reddis как минимум 3 года занимает первое место в ранкинге подобного вида баз (key value store) внушает.
http://db-engines.com/en/ranking/key-value store
...
Рейтинг: 0 / 0
Message queue. Какой представитель лучше ? Или проще через DB вообще ?
    #39015956
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotek, после обработки заявки надо хранить? Анализировать, отчеты строить?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Message queue. Какой представитель лучше ? Или проще через DB вообще ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]