第 8 章 互操作性
本章讨论如何与其他 AMQ 组件结合使用 AMQ Ruby。有关 AMQ 组件兼容性的概述,请参阅 产品简介。
8.1. 与其他 AMQP 客户端互操作
AMQP 消息通过 AMQP 类型系统来 构成。这种常见格式是不同语言的 AMQP 客户端能够相互互操作的原因之一。
发送消息时,AMQ Ruby 会自动将语言原生类型转换为 AMQP 编码的数据。接收消息时,会进行反向转换。
有关 AMQP 类型的更多信息,请参阅 Apache Qpid 项目维护 的交互式类型参考。
AMQP 类型 | 描述 |
---|---|
一个空值 | |
true 或 false 值 | |
单个 Unicode 字符 | |
Unicode 字符序列 | |
字节序列 | |
签名的 8 位整数 | |
签名的 16 位整数 | |
签名的 32 位整数 | |
签名的 64 位整数 | |
未签名的 8 位整数 | |
未签名的 16 位整数 | |
未签名 32 位整数 | |
未签名 64 位整数 | |
32 位浮动点数 | |
64 位浮动点数 | |
单个类型值序列 | |
变量类型的一系列值 | |
从不同键到值的映射 | |
通用唯一标识符 | |
来自受限域的 7 位 ASCII 字符串 | |
绝对时间点 |
AMQP 类型 | 编码前 AMQ Ruby 类型 | 解码后 AMQ Ruby 类型 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
编码前 AMQ Ruby 类型 | AMQ C++ 类型 | AMQ JavaScript 类型 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
编码前 AMQ Ruby 类型 | AMQ .NET 类型 | AMQ Python 类型 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|