Как стать автором
Обновить

Комментарии 17

Все выше написанное настоль пространственное, что я не понял о чем речь.

std::queue my_queue; тоже очередь и хорошо работает, но читая дальше и дальше я понял это какие то сервисы межпрограммного взаимодействия.

Если возможно уточните о чем именно вы желаете поведать миру.
std::queue — это тупо двухсвязный список. А очереди сообщений, это отдельная инфраструктура, которая позволяет общаться как между процессами в пределах одного сервера, так и между серверами, да и между датацентрами. Позволяют организовать полноценную асинхронную работу сложнейших IT систем.
Не отдельная инфраструктура, а механизм интеграции в инфраструктуре.
Пожалуй, я приложу картинку.


Как видно из изображения есть часть приложения, процесс, отдельное приложение которому требуется обработать сообщение (к примеру отослать email клиенту), второй компонент это непосредственно очередь сообщений в которую помещается сообщение (например запрос на отправку email), и в правой части изображения расположены обработчики сообщений (например email отправщики). В данном случае очередь сообщений позволяет связать различные компоненты системы, внеся при этом асинхронность и возможность сгладить нагрузку (например теперь отправить 1000 email стало гораздо проще)
Различных сервисов предоставляющих услуги очередей сообщений не так много

Про Azure вы не слышали?
Добавил, спасибо. К сожалению не приходилось использовать.
В Windows Azure огромная подсистема сообщений под общим названием Windows Azure Service Bus, это более верное название

Узнать больше можно тут
msdn.microsoft.com/ru-ru/jj663113
Да, побольше бы больше конкретики. Например почему сказали только об облачных решениях. Если приложение не использует какую-либо облачную платформу, но нужны очереди. Только ради этого не всегда стоит менять серверную инфраструктуру.
Я так понял пост задумывался как мотиватор к использованию очередей сообщений в проектах. Тогда наверное стоило больше рассказать о подходах к построению архитектуры, основанной на очередях.
Я сделал упор именно на облачные варианты, так как об остальных топики уже есть (хотя бы просто упоминания) а облачные в основном не затронуты
Самые простые в использовании/установке/настройке очереди, как по мне, это gearman и rabbitmq, причем последняя имеет плюшки вроде persistent queue, message ttl etc.
В первом тоже есть persistent storage. И я бы еще добавил Redis.
Хоть бы классификацию свойств очередей привели — транзакции, coхранение на диск, пересылка по сети, использование координирующего сервера, формат сообщений, дерево топиков, запрос/ответ — или у всех реализаций одни и те же свойства?

Посмотрим на результат опроса, возможно в следующем топике я приведу технические подробности «облачных» систем очередей сообщений
А как же всякие MSMQ, RabbitMQ, etc?
К сожалению здесь упомянуты только SaaS
InterSystems Ensemble тоже предназначена в том числе для построения интеграционных решений с использованием очередей сообщений.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории