AMQP模型的设计由以下几个需求所驱动:
保证遵从AMQP规范的服务器实现之间能够进行互操作。
为服务质量提供显示控制。
支持所有消息中间件的功能:消息交换、文件传输、流传输、远程进程调用等。
兼容已有的消息API规范(比如Sun公司的JMS规范)。
形成一致和明确的命名。
通过AMQP协议可以完整的配置服务器线路(TODO:server wiring是啥意思?答:服务器连接)。
使用命令符号可以很容易的映射成应用级别的API。
明确定义每一个操作只做一件事情。
AMQP传输层的设计由以下几个主要的需求所驱动,这些需求不分先后次序:
使用能够快速打包解包的二进制编码来保证数据的紧凑性。
能够处理任意大小的消息。
允许零拷贝数据传输(比如远程DMA)。
一个连接支持多个会话。
保证会话能够从网络错误、服务器失效中恢复。
为了长期存在,没有隐含的内置限制(TODO:To be long-lived,with no significant in-built limitations)。
异步传输消息。
能够很容易的处理新的和变化的需求。
高版本的AMQP规范能够兼容低版本的规范。
使用强断言模型来保证应用程序的可修复性。
保持编程语言的中立性。
适宜使用代码生成工具生成协议处理模块。
AMQP模型的设计
最新推荐文章于 2023-10-06 18:08:28 发布