跳转到: 导航, 搜索

Zaqar/specs/amqp/api/v1

Marconi AMQP 传输 v1

为什么增加对 AMQP 的支持

支持更多的传输协议将使我们能够支持更广泛的使用场景。

AMQP 是一种被其他消息服务采用的标准协议,因此使用 AMQP 编写的应用程序即使不是最初(或唯一)目标,也可以在 Marconi 上运行。

此外,Marconi 可以为 AMQP 提供存储和转发功能。

结构将如何设计?

AMQP 具有定义良好的传输协议,我们将坚持使用。 当前版本的 AMQP 传输驱动程序不会实现并发,但我们将在短期内添加此功能。

AMQP 还具有我们将使用的消息结构。

由于 Marconi 具有其他消息实现中没有的一些功能,我们决定保持 AMQP 的“正常”行为并避免混淆。 例如,我们不会添加通过 ID 检索消息/消息或通过 ID 删除消息/消息的支持,仅举几例。 将在此处添加一个完整的支持内容和不支持内容的列表。(进行中)

地址语法

地址的格式如下

[ amqp[s]:// ] domain [/[name]]

其中 domain 可以是以下之一

host | host:port | ip | ip:port | name

以下是地址的有效示例

amqp://example.org amqps://example.org amqps://example.org/outgoing amqps://127.0.0.1:1234

AMQP 客户端与 Marconi 服务器的交互

Marconi 操作 AMQP 消息
发布消息 ./client.py amqp://127.0.0.1:8888/myqueue/ "Subject" "Message body"