【问题标题】:AMQP - Rabbit MQ usageAMQP - 兔子 MQ 使用
【发布时间】:2013-02-24 06:40:58
【问题描述】:

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

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

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

【问题讨论】:

    标签: java api jms rabbitmq amqp


    【解决方案1】:

    我使用了 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 的应用程序提供服务。

    【讨论】:

    • AMQP is a protocol, just like HTTP; besides the API it defines the message format and has features as routing or queuing being served by the protocol rather by the application implementing the API. 那么您是说开发人员在“编程”/使用代理(RabbitMQ 等)提供的 API 时“不需要”了解有关 AMQP 的任何信息? (当然,只是要知道代理 API 使用 AMQP 进行通信)
    • 当然不是;当通过 HTTP 编程时(比如 rest web 服务)你不关心 HTTP(例如响应代码)?
    猜你喜欢
    • 1970-01-01
    • 2015-02-17
    • 2022-06-28
    • 2011-03-10
    • 1970-01-01
    • 2015-01-21
    • 2015-03-14
    • 2019-08-29
    • 2016-12-14
    相关资源
    最近更新 更多