3

这可能是一个非常基本的问题。但我有点困惑。

我知道RabbitMQ是一个AMQP经纪人(意思是RabbitMQ实现/使用AMQP)。我使用了 RabbitMQ 提供的客户端库(jar)。这是否意味着我使用了客户端 API/库AMQP“内部”使用的协议RabbitMQ来连接到 RabbitMQ 代理?关于使用还有什么我需要知道的AMQP吗?

还是我需要遵循不同的路线才能使用AMQPAMQP除了使用任何消息代理(如 RabbitMQ、Apache QPid 等)的 API 之外,开发人员还关心如何使用?

4

1 回答 1

3

我使用了 RabbitMQ 提供的客户端库(jar)。这是否意味着我使用了 RabbitMQ 客户端 API/库“内部”使用的 AMQP 协议来连接到 RabbitMQ 代理?

是的,您使用过 AMQP 协议(​​可能);RabbitMQ 内部没有使用 AMQP。它使用 AMQP 将消息从您的应用程序发送到 RabbitMQ 并从 RabbitMQ 发送到(您的)其他应用程序;或相反亦然。

或者我需要遵循不同的路线来使用 AMQP?

除了使用 API,您还可以将其用作 Apache Camel 或 Spring Integration 的扩展;它更整洁,您可以在应用程序的更多部分使用它。实际上,只要您尊重协议,您如何使用并不重要。

除了使用任何消息代理(如 RabbitMQ、Apache QPid 等)的 API 之外,开发人员如何关心使用 AMQP?

AMQP 是一种协议,就像 HTTP 一样;除了 API 之外,它还定义了消息格式,并具有路由或队列等特性,由协议提供服务,而不是由实现 API 的应用程序提供服务。

于 2013-03-08T17:06:56.400 回答