2015-09-07 35 views
0

我是rabbitMq和Spring AMQP的新手。 我正在从头开始构建一个新项目。在这里,我们使用rabbit-Mq作为消息代理的其中一个组件。SPRINGAMQP或RabbitMq Java API

在这个项目中,主要是所有的开发都在Java中进行。我们对一些组件使用Spring。

现在,rabbit-mq虽然用Erlang编写,但确实提供了一个干净的java Api。还有spring amqp,它提供了一个很好的界面来支持松耦合(通过AMQPTemplate等)。

我认为使用SpringAMQP的一个优点是,由于上面提到的松耦合,明天如果我们必须使用AMQP的任何其他实现,而不是rabbit-Mq(spring-rabbit),我不必更改我的代码。但正如我所看到的,今天的实施是针对rabbit-Mq的,除非出现特殊情况,否则我不会在这里发生任何事情。在可预见的未来,我们应该使用rabbit-Mq,并且也不确定是否有任何其他消息代理实现方式在rabbitmq以外的spring amqp端执行。

我认为的缺点是,由于Spring AMQP给出的抽象(除非我决定深入挖掘),我完全了解RabbitMq提供的实际客户端API。

在这种情况下,SPRING AMQP提供的优势是否比传统rabbitMq Java API还有其他优势?

谢谢

回答

1

这不是一个可以被别人回答的问题。你和你的团队必须决定什么是最适合你的团队。

如果您的团队已经在使用弹簧并且很舒服,请使用spring amqp提供程序。

如果你不想和春天绑在一起,直接使用rabbitmq库。

挑一个,坚持下去。你会变得富有成效,而且你没有选择另一个并不重要。

5

Spring AMQP位于RabbitMQ amqp-client java库的“顶部”,并将熟悉的Spring编程模型带入RabbitMQ。

它提供了与Spring JMS用户习惯的类似功能,包括消息驱动的POJO和RabbitTemplate

同所有的Spring *Template秒,RabbitTemplate消除样板代码,自动清理资源,参与现有RabbitMQ的交易等,同时还允许你下降到本机API,如果你有先进的不在需求由更高级别的API(这很少见)满足。所以,使用一个并不排除另一个。

披露:我是项目负责人。

+0

谢谢加里。它为我清除了思考过程:) –