当前位置: 首页 > news >正文

快速提升网站排名/百度全网营销

快速提升网站排名,百度全网营销,专用车网站建设多少钱,自己做的网站主页被人篡改一、生成者-队列-多消费者(前言) 上篇文章,我们做了一个简单的Demo,一个生产者对应一个消费者,本篇文章就介绍 生产者-队列-多个消费者,下面简单示意图 P 生产者 C 消费者 中间队列 需求背景&#xff1…

一、生成者-队列-多消费者(前言)

 

 上篇文章,我们做了一个简单的Demo,一个生产者对应一个消费者,本篇文章就介绍 生产者-队列-多个消费者,下面简单示意图

 

 P 生产者    C 消费者  中间队列

 需求背景:工厂某部门需要生产n个零件,部门下面有2个小组,每个小组需要生产n/2个

公平派遣

每个小组的情况下,当所有奇怪的信息都很重,甚至信息很轻的时候,一个工作人员将不断忙碌,另一个工作人员几乎不会做任何工作。那么,RabbitMQ不知道什么,还会平均分配消息。

这是因为当消息进入队列时,RabbitMQ只会分派消息。它不看消费者的未确认消息的数量。它只是盲目地向第n个消费者发送每个第n个消息。

 

下面就由我们撸代码实现,这一需求::::

二、代码

P 生产者代码::: 

 static void Main(string[] args){using (var channel = HelpConnection.GetConnection().CreateModel()){//声明队列  channel.QueueDeclare("firstQueue", true, false, false, null);//声明路由channel.ExchangeDeclare("firstExchange", "direct", true, false, null);//绑定 建立关系channel.QueueBind("firstQueue", "firstExchange", "firstQueue_Exchange");//内容的基本属性var properties=channel.CreateBasicProperties();//设置消息内容持久化properties.Persistent = true;int j = 0;for (int i = 0; i < 100; i++){var msg = Encoding.UTF8.GetBytes("生产者-队列-多个消费者" + i);channel.BasicPublish(exchange: "firstExchange",routingKey: "firstQueue_Exchange",basicProperties: properties,body: msg);j = i;Console.WriteLine( i);}Console.WriteLine("添加成功" + j + "");Console.ReadKey();}}

成功添加100条

 

 C 消费者代码::: 

 /// <summary>/// /// </summary>/// <param name="args"></param>static void Main(string[] args){using (var channel = HelpConnection.GetConnection().CreateModel()){//声明队列channel.QueueDeclare("firstQueue", true, false, false, null);//声明路由channel.ExchangeDeclare("firstExchange", "direct", true, false, null);//绑定 建立关系channel.QueueBind("firstQueue", "firstExchange", "firstQueue_Exchange");//公平分发 同一时间只处理一个消息channel.BasicQos(0, 1, true);var conSumer = new EventingBasicConsumer(channel);conSumer.Received += (moede, e) =>{var body = e.Body;var msg = Encoding.UTF8.GetString(body);Console.WriteLine("显示结果:"+msg);//进行交付,确定此消息已经处理完成// channel.BasicAck( e.DeliveryTag,  false);
                };//确认收到消息    进行消费channel.BasicConsume("firstQueue", true, conSumer);//false 手动应答;true:自动应答
              Console.ReadKey();}}

 

效果图(特意建立好几个项目,同事启动进行测试)

 

 

三、总结

 本章总结注意几点:::

1、即使RabbitMQ重新启动,task_queue队列也不会丢失。现在我们需要将我们的消息标记为持久性 - 将IBasicProperties.SetPersistent设置为true。

   var properties = channel.CreateBasicProperties();

  properties.Persistent = true;

2、公平分发同一时间只处理一个消息

channel.BasicQos(0,1,false)
  • 博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的纯镀 24k 文章,请原谅博主成为一个无耻的文档搬运工!
  • 小弟刚迈入博客编写,文中如有不对,欢迎用板砖扶正,希望给你有所帮助。

 

转载于:https://www.cnblogs.com/lrzr/p/7290253.html

http://www.jmfq.cn/news/4736107.html

相关文章:

  • 人民日报客户端怎么投稿/seo软件系统
  • 网站建设深圳公司/seo全网优化推广
  • 做网站编程/网站建设情况
  • 万网网站备案证书/竞价是什么工作
  • wordpress页面跳舞/长沙网站优化对策
  • 如皋做网站/长沙网站优化方法
  • 做网站需要向客户了解什么/seo概念
  • php手机网站开发工具/好看的网站设计
  • 国外幼儿园网站模板/郑州网络推广厂家
  • 大连比较好的网站公司/搜索引擎优化的各种方法
  • 中学生网站作品/友情链接有什么用
  • 台州模板建站代理/渠道网
  • wordpress在哪里设置编辑器/seo网站排名优化公司哪家好
  • 如何建立网站的英文版/郑州网络推广公司
  • 林业网站源码/怎样创建自己的网站
  • 查看网站cms/搜索引擎排名机制
  • 租号网站开发/网站批量收录
  • 鲜花网站建设论文/路由优化大师
  • 广州网站设计开发/日本站外推广网站
  • asp动态网站开发教程/seo网络营销案例分析
  • 金融业反洗钱培训网站/百度app下载链接
  • 天津响应式网站设计/阐述网络推广的主要方法
  • 阿里云网站建设方案/西安seo排名外包
  • 财务网站模板/百度关键词怎么排名
  • 遵义做网站/如何做网络宣传推广
  • 濮阳的网站建设/日本比分预测
  • 公司网站制作重庆/关键词百度指数查询
  • 上海市公安网站备案查询/b2b b2c c2c o2o区别
  • 谷歌seo外贸推广/seo优化检测
  • 做哪个网站的推广好/最近有新病毒出现吗