RabbitMQ 使用的AMQP模型解析

 RabbitMQ 是采用AMQP协议进行通信的。比起简单的TCP/UDP之类的通信,该模型更为复杂,功能也更为强大。

最近项目中用到RabbitMQ比较多,就比较系统深入的过来看看它的具体方式。

内容基本上从官网文档借鉴。


Publish path from publisher to consumer via                              exchange and queue


在这个模型中,publisher将消息首先发布给Exchange,由Exchange负责发送到一个或多个Queue中,发送的规则称为binging。最后发送给consumer或者consumer来pull。感觉这个概念就像寄送快递,发件人只需要和快递员打交道,告诉要发什么地址,甚至多个地址。派送则由快递公司承担。最后用户既可以选择送货上门,也可以选择自己去取件。

为了保证传递的可靠性,AMQP中有一个确认机制。consumer在收到快递后,要签个字,快递公司才会把订单从系统中撤掉。

如果消息无法送抵,则可以回退给publisher,或者扔掉,或者放入旧货堆(dead letter queue)


exchange:

Exchange作为AMQP中重要的一个中间实体,其交换类型(exchange type), 共有以下4种:

Direct, Fanout, Topic, Headers

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值