tnblog
首页
视频
资源
登录

rabbitmq六大版块之三(Fanout类型交换机相同数据多逼格处理)

7141人阅读 2019/5/28 23:50 总访问:3465082 评论:0 收藏:0 手机
分类: RabbitMq


Fanout类型交换机的特点是:

同样的数据分发给每一个自己所绑定的队列,每个队列可以按照自己的需求对数据进行不同的处理

【注意】:Fanout类型不会通过routingKey进行分类,所以无论你的数据中写不写routingKey都没用


队列1与队列2的代码:

队列2就把代码中队列名改成2就可以了

  1. //192.168.1.63
  2. //创建一个连接工厂
  3. ConnectionFactory factory = new ConnectionFactory()
  4. {
  5.     HostName= "192.168.1.63",
  6.     UserName = "hbadmin",
  7.     Password= "hbadmin"
  8. };
  9. using (var conntion = factory.CreateConnection())
  10. {
  11.     using (var channel = conntion.CreateModel())
  12.     {
  13.         //申明交换机
  14.         channel.ExchangeDeclare("myfanoutexchange", ExchangeType.Fanout, truefalsenull);
  15.         //创建队列
  16.         channel.QueueDeclare("myfanoutqueue1"truefalsefalsenull);
  17.         //将queue绑定到exchange之上
  18.         channel.QueueBind("myfanoutqueue1""myfanoutexchange"string.Empty, null);
  19.         //创建并添加事件
  20.         EventingBasicConsumer consumer = new EventingBasicConsumer(channel);
  21.         consumer.Received += (sender,e)=>
  22.         {
  23.             var msg = Encoding.UTF8.GetString(e.Body);
  24.             Console.WriteLine(msg);
  25.         };
  26.         channel.BasicConsume("myfanoutqueue1"true, consumer);
  27.         Console.WriteLine("consumer【1】端启动完毕!");
  28.         Console.Read();
  29.     }
  30. }


数据端代码

  1. ConnectionFactory factory = new ConnectionFactory()
  2. {
  3.     HostName = "192.168.1.63",
  4.     UserName = "hbadmin",
  5.     Password = "hbadmin"
  6. };
  7. using (var conntion = factory.CreateConnection())
  8. {
  9.     using (var channel = conntion.CreateModel())
  10.     {
  11.         //加入100条数据
  12.         for (int i = 0; i < 100; i++)
  13.         {
  14.             var msg = Encoding.UTF8.GetBytes($"{i}:你好鸭!");
  15.             channel.BasicPublish("myfanoutexchange"string.Empty, null, msg);
  16.             Console.WriteLine(i);
  17.         }
  18.         Console.Read();
  19.     }
  20. }


来看看结果



我们可以发现:

队列1与队列2数据是相同,对吧!

中途就可以通过不同队列实现不同的功能就行了!


rabbitmq基础命令

  1. rabbitmqctl stop_app  #停止rabbitmq运行
  2. rabbitmqctl start_app #启动rabbitmq运行
  3. rabbitmqctl reset     #格式化mq
  4. 【注意】:如需要格式化mq,需要先stop_app,然后reset,再start_app哟!


本期就这样,大家有机会多尝试!



欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

​Windows下安装rabbitmq

跳过舞,祝大家新年快乐哇!1、下载安装erlang因为rabbitmq是基于erlang实现的所以需要先安装erlang打开网址https://www.er...

net core使用消息队列rabbitmq

使用NuGet下载rabbitmq客户端工具Install-Package RabbitMQ.Client -Version 3.6.5生产消息staticvoidMain(string[]args) ...

rabbitmq常用命令

rabbitmqctl environment:查询环境什么的例如这里可以看到rabbitmq的连接端口是5672,有时间我们想知道端口有没有改起什么...

修改rabbitmq的连接端口

rabbitmq的默认连接端口是5672,如果要修改的话,可以通过配置文件修改当然一般情况下都会遇到坑默认配置文件地址:安装目...

消息队列rabbitmq介绍

消息队列的一般作用 异步调用,延迟处理 应用解耦 流量消峰,处理高并发,秒杀等 说白了,消息队列就是一方生产消息,一方...

rabbitmq官网上六大版块之二(Direct类型交换机通过routingKey分类型输出)

其实rabbitmq,老师都说得差不多了,下面是老师的连接。http://www.tnblog.net/aojiancc2/article/UserCategory/134官网教...

rabbitmq中Header类型交换机的处理(and与or的处理)

headers类型交换机是通过 muliple attributes 代替 routing key.x-match [all/any]all: 所有地方header头信息必须匹配any:...

springboot整合rabbitmq

Windows下安装RabbitMQ:http://www.tnblog.net/aojiancc2/article/details/232消息队列rabbitmq介绍:http://www.tnblog.n...

Docker 部署rabbitmq集群

Docker 部署RabbitMq集群[TOC] 镜像环境docker pull rabbitmq:3-management 镜像后面带management是带web管理界面...

rabbitmq 命令行运用

RabbitMq 命令行运用[TOC] RabbitMQ是一个开源的多协议消息传递代理。 描述 rabbitmqctl是用于管理RabbitMQ服务器节点...

rabbitmq 对配置文件的操作

RabbitMq 对配置文件的操作[TOC] 从UI界面中找到配置文件的位置 查看我们的配置文件 在这里我已经对原来的配置文件做了...

.netcore3.1 rabbitmq 简单运用与相关方法的介绍

.netcore3.1 RabbitMq 简单运用与相关方法的介绍[TOC] 在这里我将使用简单的生产—-&gt;加入队列—-&gt;消费,做一个简...

.netcore3.1 rabbitmq 工作队列轮询与确认消息

.netcore3.1 RabbitMq 工作队列轮询与确认消息[TOC] https://www.rabbitmq.com/confirms.htmlhttps://www.rabbitmq.com/tu...

.netcore3.1 rabbitmq Routing的应用

.netcore3.1 RabbitMq Routing的应用[TOC] 在前面很多文章中都用到了routingKey参数但并没有细说它的用途。在这之前我可...

.netcore3.1 rabbitmq Fanout交换机

.netcore3.1 RabbitMq Fanout交换机[TOC] 在前面我们有提到交换机但都是用的普通的交换机(direct),交换机在Rabbitmq中有...
这一世以无限游戏为使命!
排名
2
文章
633
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术