exchange服务器之rabbitmq 3 entities之exchange
白羽 2018-11-09 来源 :网络 阅读 627 评论 0

摘要:本文将带你了解exchange服务器之rabbitmq 3 entities之exchange,希望本文对大家学Exchange有所帮助。

    本文将带你了解exchange服务器之rabbitmq 3 entities之exchange,希望本文对大家学Exchange有所帮助。


<

exchanges, routing key and queues
exchanges: 
exchange attributes:
exchange type:4种,direct exchange,amq.direct; fanout exchange, amq.fanout; topic exchange, amq.topic and headers exchange, amq.match and amq.headers
name
durability: 用来标识当broker重启时,此exchange 是否还有效,如果为flase标识此exchnage是transient,则重启broker后,要重定义此exchange
auto-delete:为true时,当没有queue绑定在此exchange时,自动删掉此exchange
arguments:为插件和broker-specific feature使用
default exchange:一个默认的exchange是direct exchange type的,没有名字即空字符,由rabbitMq server (message broker)已经predefined的empty string,其中的一个特点是,任何一个新创建的queue,都会自动绑定到此默认的exchange,其名字为空字符,没有名字,并且exchange和此queue的routing key就是queue的名字。
direct exchange:deliver的message带有一个routingkey1,而exchangeA 和queueA之间通过某一个routingkey2 类型为string型绑定,如果routingkey1 等于routingkey2,则此message会通过指定的exchangeA deliver到queueA。此种exchange的routingkey只能为string类型;详见//www.rabbitmq.com/tutorials/amqp-concepts.html

Fanout exchange:exchange type为amq.fanout, 它会把所有从produer deliver给它的message,全部route到与它绑定的queues,此时routing key是无效的,可以忽略的。比如一条message到达exchange type为fanout的exchangeA,并且有N个queues绑定在此exchangeA上,则此message会被复制N-1份,发给N个queues,所有fanout exchange适合广播的情况。

topic exchange:route message to 一个或者多个queues,取决于message 的routing key与, exchange 和queue绑定用的pattern是否match。
headers exchange:通过message headers(包含多个attributes)来匹配,routingkey会被忽略,queue和headers exchange type的exchange A 绑定可以通过设置多个headers来绑定,x-match 属性用来指定message的header 值等于所有的绑定的headers值(x-match=all)还是任一一个header值(x-match=any)就算匹配的指示,
headers exchange类似于direct exchange,区别在于headers exchange 的要对应匹配的message的header不限于string,可以是integer或者hashmap等,同时,headers exchange有个x-match的属性可以指定任一或者全部匹配的情况。
   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标系统运维之Exchange频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程