C # .NET Рабочая нагрузка Обработка A'LA Обработка Обработки Оформления Обработки Идеи?
-
25-09-2019 - |
Вопрос
В рамках моей постоянной кривой обучения в том, что вы можете сделать, чтобы сделать масштабирование приложений лучше, я в настоящее время пытаюсь получить направление, чтобы пойти с очередя, то есть в очереди или обработке рабочей очереди.
В далеком прошлом я использовал IBM MQ / Series - он работал на финансовое приложение, но довольно тяжело, если я помню.
Я знаю MSMQ, и я также слышал о нескольких других.
Но во-первых, вот мой контекст
У меня есть C # /. Wheet Back-end веб-приложение, которое служит данным и т. Д. В JavaScript (в основном jQuery etc) в интерфейсе AJAX и т. Д. У меня есть ситуация, когда определенное действие включает в себя загрузку некоторых файлов, настраивая несколько записей Записи в базе данных, по электронной почте некоторые пользователи и т. Д. Так, конечно, я не хочу делать этот процесс «онлайн» / «в режиме реального времени» из-за возможной задержки времени, и я уверен, что накладные расходы на веб-сервере / базе данных и т. Д.
Так что дано тип «сообщений», которые мне нужно в очередь и процесс, что было бы (я не должен просто говорить здесь, я думаю!) Хорошая пункт начала? Должен ли я работать с помощью MSMQ и / или богослужения SQL 2008 Service Broker, или что-то вроде zeromq - или я должен просто создать мою собственную легкую службу очереди рабочей нагрузки?
Я снова понимаю, не видя полную фотографию, трудно вносить полные рекомендации, однако любые запускающиеся точки с благодарностью!
Дэйвид
Решение
Не пытайтесь сделать свой собственный, пожалуйста! Есть так много вещей, которые нужно учитывать, что вы будете проводить больше времени на это, чем остальная часть вашего проекта, скорее всего.
Я бы сказал, пойти на MSMQ, очень легко использовать с WCF, очерелись, являются транзакционными, имеют механизм повторения и т. Д., И вы получаете пользу от MSMQ UI, чтобы увидеть сообщения, перемещать их и так далее.