前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >rabbitmq的总结

rabbitmq的总结

作者头像
ydymz
发布2018-12-21 15:45:56
4090
发布2018-12-21 15:45:56
举报
文章被收录于专栏:lgp20151222

rabbitmq的术语

组件

Server(broker):接收客户端连接,实现AMQP消息队列的路由功能的进程.简单来说就是消息队列服务器实体。

Vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。权限控制组,用户只能关联到一个vhost上,一个vhost中可以有若干个Exchange和Queue,默认的vhost是"/"

Exchange:接收生产者发送的消息,并根据Binding规则将消息路由给服务器中的队列 Exchange Type决定了Exchange路由消息额行为,例如,在RabbitMQ中,ExchangeType有Direct、Fanout和Topic三种,不同类型的Exchange路由得到行为是不一样的

queue:用于存储还未消费的消息。消息队列载体,每个消息都会被投入到一个或多个队列

channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务

Message:由Header和Body组成,Header是由生产者添加到各种属性的集合,包括Message是否被持久化,是由哪个Message Queue接收优先级是多少等,而Body是真正需要传输的APP数据

操作

Binding: 绑定,它的作用就是把exchange和queue按照路由规则绑定起来。:

key标记

BindingKey: 在mq中设置的绑定key

RoutingKey:路由关键字,exchange根据这个关键字进行消息投递

角色

producer:消息生产者,就是投递消息的程序。

consumer:消息消费者,就是接受消息的程序。

rabbitmq的使用过程

客户端声明一个exchange,并设置相关属性。 客户端声明一个queue,并设置相关属性。 客户端使用routing key,在exchange和queue之间建立好绑定关系。 消费者使用routing key,在exchange和queue之间建立好绑定关系。 生产者连接到消息队列服务器,打开一个channel。 生产者投递消息到exchange,exchange接收到消息后,就根据消息的key和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里。 消费者根据queue接受消息

exchange类型

direct 只有两个routingkey完全相同,exchange才会选择对应的binging进行消息路由

topic routingkey可以有通配符:'*','#'.其中'*'表示匹配一个单词, '#'则表示匹配没有或者多个单词

fanout 直接将消息路由到所有绑定的队列中,无须对消息的routingkey进行匹配操作

header 路由的规则是根据header来判断

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • rabbitmq的术语
    • 组件
      • 操作
        • key标记
          • 角色
          • rabbitmq的使用过程
          • exchange类型
          相关产品与服务
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档