Сравнение JMS с AMQP

Я гуглил, чтобы найти, чем они отличаются. Я использовал RabbitMQ и ZeroMQ для некоторых своих проектов. Зная, что JMS все еще существует и люди используют его, я начинаю задаваться вопросом, почему? Что мотивирует использование JMS, есть ли производительность, архитектура или какие-либо преимущества? Я ничего не знаю о JMS, но если то, что я понимаю, верно, зачем кому-то привязываться к конкретной технологии Java?


person MaX    schedule 01.11.2012    source источник


Ответы (1)


JMS и AMQP на самом деле несопоставимы. JMS — это API; AMQP — это протокол. Можно написать реализацию JMS, использующую AMQP. Действительно, у людей есть.

Более того, можно написать реализации JMS, использующие другие протоколы, и, конечно же, множество люди есть.

Цель JMS — создать единый API для всех этих различных протоколов обмена сообщениями. Это облегчает жизнь программистам, которые могут изучить один API, а затем иметь разумный шанс использовать любую очередь сообщений, с которой они столкнутся.

Кроме того, наличие стандартного API позволяет JMS взаимодействовать с другими стандартами. Например, в ejb есть такая вещь как компонент, управляемый сообщениями, который является компонентом EJB, который получает сообщения, а не вызовы методов, и использует JMS API для управления процессом.

person Tom Anderson    schedule 01.11.2012