2015-09-07 5 views
0

Я новичок в rabbitMq и Spring AMQP. Я строю новый проект с нуля. Здесь для одного из компонентов мы используем кролик-Mq в качестве брокера сообщений.SPRINGAMQP или RabbitMq Java API

В этом проекте, прежде всего, все разработки происходят на Java. Мы используем Spring в целом для некоторых компонентов.

Теперь кролик-мк, хотя написанный в Эрланге, обеспечивает чистый java-апи. Существует также весенний amqp, который обеспечивает приятный интерфейс для поддержки свободной связи (через AMQPTemplate и т. Д.).

Одно из преимуществ, которое я думал об использовании SpringAMQP, заключается в том, что из-за вышеупомянутой свободной связи завтра, если нам придется использовать любую другую реализацию AMQP, чем кролик-Mq (весенний кролик), мне не нужно менять свой код , Но, как я вижу, сегодня реализация кролика-Мк и исключение чрезвычайных обстоятельств, я не вижу здесь ничего общего. Мы должны использовать кролик-Mq в ближайшем обозримом будущем, а также не уверены, есть ли какая-либо другая реализация брокера сообщений, думаемая на стороне весны amqp, отличной от rabbitMq.

Недостаток, который, как я думаю, заключается в том, что я хорошо разбираюсь в фактическом клиентском API RabbitMq, благодаря абстракции Spring AMQP дает (если только я не решаюсь копать очень глубоко).

В таком случае есть ли другие преимущества, которые SPRING AMQP предоставляет по сравнению с традиционным Java-API rabbitMq?

Благодаря

ответ

1

это не вопрос, который может ответить на кого-то еще. вы и ваша команда должны решить, что лучше для вашей команды.

Если ваша команда уже использует весну и ей удобна, используйте поставщик весеннего amqp.

Если вы не хотите больше привязываться к весне, чем вы, используйте библиотеку rabbitmq напрямую.

выберите один и придерживайтесь его. вы станете продуктивным с ним, и не имеет значения, что вы не выбрали другого.

5

Spring AMQP сидит «поверх» библиотеки Java RabbitMQ amqp-client и приносит знакомую модель программирования Spring в RabbitMQ.

Он предоставляет аналогичные функции тем, к которым привыкли пользователи Spring JMS, включая POJO с сообщением и RabbitTemplate.

Как и все пружинные *Template с, RabbitTemplate устраняет шаблонный код, автоматически очищает ресурсы, участвует в существующих RabbitMQ сделок и т.д., в то же время позволяя упасть вниз к родной API, если вы выдвигали потребности, которые не являются удовлетворяется API более высокого уровня (что несколько реже). Таким образом, использование одного не исключает другого.

Раскрытие информации: Я возглавляю проект.

+0

Спасибо, Гэри. Это очистило мыслительный процесс для меня :) –