码迷,mamicode.com
首页 > 其他好文 > 详细

消息中间件rabbitmq(1)

时间:2018-12-03 12:44:46      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:消息中间件   绑定   中间件   内容   名称   14.   通配   rabbitmq   生产者   

介绍

技术分享图片

注:没有注册中心,总共只分为三个角色,product,server,customer。

Queue

消息队列,等同于rocketmq中的topic

Exchange

生产者产生的消息并不是直接发送给消息队列Queue的,而是要经过Exchange(交换器),由Exchange再将消息路由到一个或多个Queue,当然这里还会对不符合路由规则的消息进行丢弃掉,这里指的是后续要谈到的Exchange Type。那么Exchange是怎样将消息准确的推送到对应的Queue的呢?那么这里的功劳最大的当属Binding,RabbitMQ是通过Binding将Exchange和Queue链接在一起,这样Exchange就知道如何将消息准确的推送到Queue中去。简单示意图如下所示:

技术分享图片

主要介绍下Topic的路由规则

topic这个规则就是模糊匹配,可以通过通配符满足一部分规则就可以传送。它的约定是:

  1. routing key为一个句点号“. ”分隔的字符串(我们将被句点号“. ”分隔开的每一段独立的字符串称为一个单词),如“stock.usd.nyse”、“nyse.vmw”、“quick.orange.rabbit”
  2. binding key与routing key一样也是句点号“. ”分隔的字符串
  3. binding key中可以存在两种特殊字符“*”与“#”,用于做模糊匹配,其中“*”用于匹配一个单词,“#”用于匹配多个单词(可以是零个)技术分享图片
Exchange规则
类型名称 类型描述
fanout 把所有发送到该Exchange的消息路由到所有与它绑定的Queue中
direct Routing Key==Binding Key
topic 我这里自己总结的简称模糊匹配
headers Exchange不依赖于routing key与binding key的匹配规则来路由消息,而是根据发送的消息内容中的headers属性进行匹配。

消息中间件rabbitmq(1)

标签:消息中间件   绑定   中间件   内容   名称   14.   通配   rabbitmq   生产者   

原文地址:https://www.cnblogs.com/dengyu/p/10057606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!