搜索

第 4 章 AMQP

download PDF

AMQP 是一种开放互联网协议,用于可靠发送和接收消息。它得到了多个软件供应商和主要机构的支持。AMQP 1.0 于 2012 年成为 OASIS 标准,2014 年成为 ISO 标准。

  • 具有会话多路复用的帧协议
  • 支持对等和客户端-服务器连接
  • 为无丢失数据交换提供标准类型系统
  • 提供流程控制、心跳和资源限制,以提高分布式系统中的可靠性
  • 使用空间效率的二进制编码和管道来减少延迟

4.1. AMQP 交付保证

解决的 AMQP 模型基于消息发送的生命周期。在链接的每端,都会创建一个代表消息传输的实体,它存在一段时间,最后是"集集",这意味着它可以忘记。在交付的组合生命周期中,有四个感兴趣的事件:

  • 交付是在发件人处创建的。
  • 传输在接收器上创建。
  • 发件人负责授课。
  • 传输是在接收方提供的。

由于发送方和接收方同时运行,这些事件可能会以各种订单发生,这些事件的顺序会产生不同的消息发送保障。

最快交付一次

最一次的交付也被称为"弃用"或"光纤和忘记"交付。

  1. 交付是在发件人处创建的。
  2. 发件人负责授课。
  3. 传输在接收器上创建。
  4. 传输是在接收方提供的。

在这种配置中,发件人在到达接收方之前忘记(即忘记)发货商,如果发生任何机票,则发件人没有回发基础。

此模式适用于可接受临时消息丢失(如定期传感器数据)或应用本身可检测故障和重新发送的应用。

at-least-once 交付

  1. 交付是在发件人处创建的。
  2. 传输在接收器上创建。
  3. 传输是在接收方提供的。
  4. 发件人负责授课。

在这种配置中,接收方在收到交付时巩固了发送方,而发件人一旦看到接收方,即即开始装配。如果出差时出现任何情况,则发件人可以返回。但是,接收方已经忘记了发送,因此重新发送将导致邮件发送重复。应用可以使用唯一的消息 ID 来过滤重复项。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.