В то время как у меня было очень горькое впечатление от серии MQ частично из-за того, что партнерская компания нам предложила (магазин Microsoft), использование серии MQ (или любой системы обмена сообщениями) было интегральным часть к заявке.
По существу, мы строили процесс, который обрабатывал полную цепочку поставок для элементов отставания. Если у нашего партнера у дистрибьютора не было товаров, которые хотели бы их клиенты, они отправили бы сообщение на сайт B2B, который будет нацелен на потенциальных компаний, которые могли бы выполнить заказ.
Мы построили два разных варианта интеграции. Первым был подход ftp, где файлы фиксированной ширины были отправлены туда и обратно через регулярные промежутки времени, и мы добавили всевозможные правила, чтобы гарантировать, что мы не пропустили никаких данных.
Второй - это серия MQ, в которой сообщения помещались в очередь с использованием доставки guarenteed. Затем мы выходим в очередь и обрабатываем сообщения. Система queing была здесь очень полезной, поскольку она позволила нам надежный способ передачи критических сообщений, которые привели к перемещению реальных денег.
На оборотной стороне той же серии MQ нам пришлось реализовать синхронный запрос для получения информации. Мы хотели, чтобы это было синхронно, потому что наши пользователи, получающие доступ к этому через Интернет, будут ждать получения информации. Выполнение этого над MQ Series было очень интересным и болезненным вызовом. Единственная причина, по которой MQ была использована здесь, состояла в том, что это была существующая линия связи, и функциональность запроса уже существовала.
Вторым примером и на этот раз было использование MSMQ - это сайт, который собирал информацию из кода dialhome, введенного в клиентские приложения. Код dialhome собирал бы статистику использования функций, такую как SQM-программа Microsoft.Когда сообщения поступали в веб-службу, мы бросали их в очередь. Тогда у нас могло бы появиться любое количество серверов приложений, которые появлялись бы в сообщениях и подталкивали их к базе данных, которая будет свернута на склад.
MSMQ здесь обеспечил возможность обработки всплесков сообщений, быстро поместив их в очередь. Это помогает повысить масштабируемость и надежность системы.
В моем недавнем опыте работы с другой компанией они существуют, чтобы сломать вещи и удерживать больше людей, отслеживающих проблемы. Я тоже надеюсь, что при правильном использовании они полезны для чего-то. – JeeBee