第 12 章 互操作性
本章讨论了如何将红帽构建 Rhea 与其他 AMQ 组件结合使用。有关 AMQ 组件的兼容性概述,请参阅 产品简介。
12.1. 与其他 AMQP 客户端交互
AMQP 消息使用 AMQP 类型系统 组成。这种通用格式是以不同语言的 AMQP 客户端能够相互互操作的原因之一。
发送消息时,红帽构建的 Rhea 会自动将语言原生类型转换为 AMQP 编码的数据。收到信息时,反向转换就发生。
有关 AMQP 类型的更多信息,请访问由 Apache Qpid 项目维护 的交互式类型参考。
AMQP 类型 | 描述 |
---|---|
一个空值 | |
true 或 false 值 | |
单个 Unicode 字符 | |
一系列 Unicode 字符 | |
一个字节序列 | |
签名的 8 位整数 | |
签名的 16 位整数 | |
签名的 32 位整数 | |
签名的 64 位整数 | |
未签名的 8 位整数 | |
未签名的 16 位整数 | |
未签名的 32 位整数 | |
未签名的 64 位整数 | |
32 位浮点号 | |
64 位浮点号 | |
单个类型的值的序列 | |
变量类型的序列值 | |
从不同键到值的映射 | |
通用唯一标识符 | |
来自受限域的 7 位 ASCII 字符串 | |
一个绝对时间点 |
JavaScript 具有比 AMQP 可以编码的原生类型。要发送包含特定 AMQP 类型的消息,请使用 rhea/types.js
模块中的 wrap_
功能。
AMQP 类型 | RHEA 在编码前类型 | 解码后 RHEA 类型 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RHEA 在编码前类型 | AMQ C++ 类型 | 红帽构建的 Apache Qpid Proton DotNet 类型 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - | - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RHEA 在编码前类型 | 红帽构建的 Apache Qpid Proton Python 类型 | |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| - | |
|
| |
|
|