ATOM для службы обмена сообщениями для “предприятия”

StackOverflow https://stackoverflow.com/questions/911766

Вопрос

Я отправился в Джим Уэббер презентация и в середине своей презентации он заявил, что ATOM является хорошей заменой JMS во многих случаях.Поскольку JMS - это служба обмена сообщениями, мне это интересно.Ребята, вы используете ATOM в качестве сервиса обмена сообщениями?Является ли это надежным и масштабируемым?

Самым большим преимуществом JMS является то, что он использует метод push (сервер уведомляет о новых сообщениях), а не метод pull (клиенты продолжают запрашивать новые сообщения каждые X миллисекунд).Я думаю, что для приложений "Web 2.0" этот метод хорош, но для приложений "enterprise" метод push гораздо более масштабируемый.Что вы, ребята, думаете?

Это было полезно?

Решение

Почему вы думаете, что для начала push "гораздо более масштабируем", чем pull?

Во-вторых, это довольно широкий вопрос, некоторым приложениям реального времени приходится использовать push, если интервалы опроса не имеют смысла (мне нужно время отклика менее секунды, и я не хочу проводить опрос каждые 100 мс).Но по большей части я всегда считал pull более масштабируемым и простым в реализации.Мы используем формат Atom Pub / Syndication для инфраструктуры типа "messaging", которая позволяет клиентам догонять старые сообщения, которые они, возможно, пропустили (гораздо сложнее сделать с JMS).Публикуйте сообщения в коллекции Atom (feed), а затем всякий раз, когда пользователь запускает свой клиент, он может опрашивать ленту и видеть, что нового.Возможно, они заботятся только о том, чтобы видеть обновления каждый час, каждый день - все это гораздо проще сделать на стороне клиента - без какого-либо взаимодействия между сервером (серверами), публикующими сообщения, и клиентами, потребляющими их.

Другие советы

Вы сравниваете яблоки с апельсинами.

JMS - это стандартный API для Java-программ, позволяющий использовать надежные брокеры обмена сообщениями типа "точка-точка" и pub-sub.

Atom - это формат данных на основе XML для представления новостных лент.

Вы могли бы использовать JMS для отправки сообщений, содержащих данные в формате Atom, если бы захотели.Однако в этом не было бы особого смысла, поскольку содержимое каналов Atom включает информацию, позволяющую клиентам определять, какие элементы канала являются новыми, а какие они уже загрузили при последнем опросе.Брокер pub-sub делает это за вас, поэтому уведомление pub-sub может содержать только новую информацию, которая представляет интерес для подписчиков.

Подходит ли Push или Pull для данной проблемы, в значительной степени зависит от требований к задержке, объема передаваемых данных, доступности узла и других специфических атрибутов проблемы.Не позволяйте никому говорить вам, что одно из них всегда лучше другого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top