网页开发与设计的内容广州seo网站排名

news/2025/9/24 5:15:44/文章来源:
网页开发与设计的内容,广州seo网站排名,app门户网站,网站开发工程师需要会写什么前言上篇讨论过消息投递和消息消费过程中如何确保可靠传输#xff0c;也提及到消息到达RabbitMQ中到被消费前也需要可靠的留存#xff0c;可因许多的不确定因素会影响着消息的存在与否。消息中转点生产者发送消息到RabbitMQ中#xff0c;如果交换机根据自身类型和RoutingKey…前言上篇讨论过消息投递和消息消费过程中如何确保可靠传输也提及到消息到达RabbitMQ中到被消费前也需要可靠的留存可因许多的不确定因素会影响着消息的存在与否。消息中转点生产者发送消息到RabbitMQ中如果交换机根据自身类型和RoutingKey能够匹配到队列则存入相关队列但当匹配不到队列时遇到两种情况而使得消息走向不同的方向消息可能会丢失或是发回给生产者这取决于生产者对消息的配置。生产者设置了Mandatory且为true则消息回退给生产者。当生产者为设置Mandatory或是设置为false时为了避免消息丢失可以由交换机路由给备份交换机负责去搞定存储。Mandatory生产者发送消息时可以设置一个参数mandatory来决定消息到达RabbitMQ后如果出现交换机根据自身类型及RoutingKey找不到合适的队列情况下消息的一个走向。当mandatory为true时消息则返回给生产者。当mandatory为false时消息则被丢弃。生产者代码当在BasicPublish方法参数中设置mandatory为true且队列暂不声明时仅有一个交换机消息将会被返回。var connFactory new ConnectionFactory {HostName xxx.xxx.xxx.xxx,Port 5672,UserName rabbitmqdemo,Password rabbitmqdemotest,VirtualHost rabbitmqdemo}; using (var conn connFactory.CreateConnection()) {using (var channel conn.CreateModel()){var exchangeName mandatory_publishsubscribe_exchange;channel.ExchangeDeclare(exchange: exchangeName, type: fanout);while (true){Console.WriteLine(消息内容(exit退出):);var message Console.ReadLine();if (message.Trim().ToLower() exit){break;}var body Encoding.UTF8.GetBytes(message);channel.BasicPublish(exchange: exchangeName, routingKey: , mandatory: true, basicProperties: null, body: body);Console.WriteLine(消息内容发送完毕: message);}} }生产者发送消息交换机收到消息但无对应队列消息被返回。为了直观的知道消息返回到了生产者我们可以增加一个监听器来监听返回的消息。监听回退消息当mandatory设置为true消息回退时可以监听消息channel.BasicReturn new EventHandlerRabbitMQ.Client.Events.BasicReturnEventArgs((sender, e) {var message Encoding.UTF8.GetString(e.Body.ToArray());Console.WriteLine($收到回退消息{message}); });生产者发送消息因无匹配队列消息被返回可以直观的看到返回的消息。备份交换机当mandatory设置为false时消息被丢失了这种情况可不太好。可以使用备份交换机来存储原要被丢弃的消息当需要这些消息的时候还能拿到这些消息。实际上备份交换机没有什么特殊和主交换机是一样的只是充当备份的角色。生产者代码在创建主交换机的时候给定参数argument设置该主交换机的备份交换机指定备份交换机名称。然后声明备份交换机并绑定一个队列用于存储被丢弃的消息。发送消息时mandatory参数设置为false。var connFactory new ConnectionFactory {HostName xxx.xxx.xxx.xxx,Port 5672,UserName rabbitmqdemo,Password rabbitmqdemotest,VirtualHost rabbitmqdemo}; using (var conn connFactory.CreateConnection()) {using (var channel conn.CreateModel()){var exchangeName aedemo_publishsubscribe_exchange;var alternateExchangeName aedemo_ae_publishsubscribe_exchange;var arguments new Dictionarystring, object{{ alternate-exchange, alternateExchangeName }};channel.ExchangeDeclare(exchange: exchangeName, type: fanout, arguments: arguments);channel.ExchangeDeclare(exchange: alternateExchangeName, type: fanout);var alternateExchangeQueueName alternateExchangeName _worker;channel.QueueDeclare(queue: alternateExchangeQueueName, durable: false, exclusive: false, autoDelete: false, arguments: null);channel.QueueBind(queue: alternateExchangeQueueName, exchange: alternateExchangeName, routingKey: );while (true){Console.WriteLine(消息内容(exit退出):);var message Console.ReadLine();if (message.Trim().ToLower() exit){break;}var body Encoding.UTF8.GetBytes(message);channel.BasicPublish(exchange: exchangeName, routingKey: , mandatory: false, basicProperties: null, body: body);Console.WriteLine(消息内容发送完毕: message);}} }启动程序可以从Web面板中看到主交换机和备份交换机都创建完毕并且主交换机打上了有AE的标记。生产者发送消息经主交换机匹配但无合适队列后转发给备份交换机路由到其队列存储。注推荐使用Fanout类型的交换机如果其他比如Direct当主交换机转发到备份交换机在进行匹配时候如果消息给定的RoutingKey没有匹配到相应的队列消息则会被丢失这样一来最初的预想就出现偏差了。持久化当RabbitMQ在异常情况下比如系统宕机、重启、关闭等可能会导致数据丢失可靠性降低。针对这种情况RabbitMQ提供了持久化机制将消息本身和元数据队列、交换机、绑定信息都保存到磁盘中。具体分为三类持久化交换机持久化队列持久化消息持久化交换机持久化当RabbitMQ遇到异常情况(如服务重启)后如果没有设置交换机持久化那么交换机相关数据则会被丢失生产者再发送消息到指定交换机时就失败了。服务重启异常1、在Web中新建一个交换机指定非持久化模式。2、新建一个队列指定非持久化模式。3、设置交换机和队列的绑定关系。4、生产者前部分正常发送消息中间经服务重启后交换机、队列及绑定关系都被清除生产继续发送消息出现异常。持久化设置在声明交换机时可以指定durable参数设置为true(Web面板中也可设置)。channel.ExchangeDeclare(exchange: exchangeName, type: fanout, durable: true, arguments: null);RabbitMQ服务重启生产者继续发送消息给交换机。队列持久化队列的持久化是队列声明时设置durable参数为true如果队列不持久化异常情况(如服务重启)后队列元数据丢失存储在内的消息也就丢失了。服务重启异常1、Web中创建一个交换机并设置为持久化模式。2、创建一个队列并设置为非持久化模式3、设置交换机和队列的绑定关系。4、生产者前部分正常发送消息中间经服务重启后队列及绑定关系被清除生产继续发送消息匹配队列失败消息被回退给生产者。持久化设置在声明队列时可以指定durable参数设置为true(Web面板中也可设置)。channel.QueueDeclare(queue: queueName, durable: true, exclusive: false, autoDelete: false, arguments: null);RabbitMQ服务重启生产者继续发送消息给交换机。消息持久化队列的持久化仅能保证其自身的数据不丢失而其存储的消息却不能保证不会丢失。持久化设置需要对消息消息设置持久化以确保消息本身不会因异常情况(如服务重启)而丢失。在发送消息时可以设置消息的基础属性来支持消息的持久化。var basicProperties channel.CreateBasicProperties(); basicProperties.DeliveryMode 2;// 1非持久化 2持久化channel.BasicPublish(exchange: exchangeName, routingKey: , mandatory: true, basicProperties: basicProperties, body: body);如此一来当异常情况(如服务重启后)消息还是存在的。注消息持久化会影响性能仅确保有价值的消息持久化来权衡可靠与吞吐量。2022-08-25,望技术有成后能回来看见自己的脚步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914933.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站需要注册商标第几类鞋子网站建设策划书

本文简介 点赞 关注 收藏 学会了 在 《p5.js 光速入门》 里我们学过加载图片元素,学过过背景色的用法,但当时没提到背景图要怎么使用。 本文就把背景图这部分内容补充完整,并且会提到在 p5.js 里使用背景图的一些注意点。 背景图的用法…

重庆要做网站推广机关单位网站安全建设

服务器数据恢复环境&故障: 某公司的信息管理平台,通过3台虚拟机共享了一台存储设备供企业内部使用,存储设备中存放了公司内部重要的数据文件。 由于业务增长的需要,管理员又在这个存储网络上连接了一台Windows server服务器&a…

电商设计作品集企业网站设计中应注意产品发布功能优化

想要成为一名优秀的Android开发,你需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样。 本文参考了目前大部分 Android 应用启动优化的方案,将大家的方案做一个汇总,如果你有这方面的需求,只…

山西建设厅网站首页品牌高端网站建设

本地文件夹上传到Github 步骤1. 下载git步骤2. 在github中新建一个库(Repository)步骤3. 设置SSH key步骤4. 添加SSH keys步骤5. 本地文件上传到github参考 步骤1. 下载git 下载git客户端,并在本地安装完成。 步骤2. 在github中新建一个库&a…

网站要不要改版知乎 wordpress

1.父子传值&#xff0c;父组件通过属性的方式去给子组件传递值&#xff0c;子组件在properties属性去接收父组件传递过来的值&#xff1a; 父组件部分&#xff1a; <view class"pcolor"><customer id"child" bind:changSex"changSex"…

做网站 内网怎么映射微商城app开发

参考链接&#xff1a; Java中的main()函数是强制性的吗 一、引入 1、泛型是什么 首先告诉大家ArrayList就是泛型。那ArrayList能完成哪些想不到的功能呢&#xff1f;先看看下面这段代码&#xff1a; [java] view plain copy ArrayList<String> strList new ArrayL…

广东网站建设有限公司南京装修公司十大排名榜

💡💡💡本文独家改进:独家创新(Partial_C_Detect)检测头结构创新,适合科研创新度十足,强烈推荐 Partial_C_Detect | 亲测在多个数据集能够实现大幅涨点 💡💡💡Yolov8魔术师,独家首发创新(原创),适用于Yolov5、Yolov7、Yolov8等各个Yolo系列,专栏文章提…

做织梦网站之前要新建数据库吗餐厅网站开发背景

这道题我真的纠结好久&#xff0c;因为没注意那个原地的题目要求&#xff0c;所以很奇怪怎么我电脑运行成功&#xff0c;但是LeetCode上运行就是不对。气哭。 感谢群友lino的帮助。他试了set方法不行&#xff0c;直接喂给我的答案了。。。 题目&#xff1a;26. 删除排序数组中的…

小说网站seo排名怎么做河北省石家庄市裕华区

‌Groovy‌是一种基于Java虚拟机&#xff08;JVM&#xff09;的敏捷开发语言&#xff0c;结合了Python、Ruby和Smalltalk的许多强大特性。它旨在提高开发者的生产力&#xff0c;通过简洁、熟悉且易于学习的语法&#xff0c;Groovy能够与Java代码无缝集成&#xff0c;并提供强大…

湘潭网站如何建设公司网站知乎

正题 题目链接:https://www.luogu.com.cn/problem/P4331 题目大意 给出一个序列aaa&#xff0c;求一个单调上升的序列bbb使得∑i1n∣ai−bi∣\sum_{i1}^n|a_i-b_i|∑i1n​∣ai​−bi​∣最小。 解题思路 巧妙的解法 首先我们让所有的ai−ia_i-iai​−i这样我们求的bbb序列就…

网站需要人员效果好企业营销型网站建设

view() x.view() 是 PyTorch 中用于改变张量形状的方法之一&#xff0c;它允许你在保持张量元素总数不变的情况下&#xff0c;重新组织张量的维度和大小。 view() 方法的用法如下&#xff1a; x.view(*shape)其中 x 是要进行形状变换的张量&#xff0c;shape 是一个整数或整…

网站建设指标陕西省信用建设门户网站

一、聚簇索引 其实之前内容中介绍的 B 树就是聚簇索引。 这种索引不需要我们显示地使用 INDEX 语句去创建&#xff0c;InnoDB 引擎会自动创建。另外&#xff0c;在 InnoDB 引擎中&#xff0c;聚簇索引就是数据的存储方式。 它有 2 个特点&#xff1a; 特点 1 使用记录主键…

杭州 兼职 网站建设网站建网站建设

本文为2023年第十八届中国研究生电子设计竞赛兆易创新企业命题三等奖以及决赛最佳论文奖分享&#xff0c;参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力&#xff0c;更有丰富电子礼品等你来领&#xff01;&#xff0c;分享2023研电赛作品扩大影响力&#xff0c;更有…

做一个二手网站怎么做网站服务器查询

​std::jthread是C20新引入的线程类&#xff0c;与 std::thread 类似&#xff0c;或者说&#xff0c;jthread是对thread进一步的封装&#xff0c;功能更强大​。 ​std::jthread的​j实际上是​joining的缩写​&#xff0c;​众所周知&#xff0c;std::thread在其生命周期结束…

保定网站建设电商型网站设计企业

文章目录 前言一、简单工厂模式定义二、举个例子三、简单工厂模式的缺点总结 前言 本篇我们了解一下简单工厂模式&#xff0c;它是设计模式的雏形&#xff0c;是学习设计模式的开端&#xff0c;我会结合案例说明它的设计思路。 一、简单工厂模式定义 简单工厂模式并不是GoF23…

连江福州网站建设头像制作器在线制作

CentOS操作系统的特点如下&#xff1a; 免费开源&#xff1a;CentOS是一个免费开源的操作系统&#xff0c;完全免费&#xff0c;无需花费任何成本。 稳定性高&#xff1a;CentOS以其出色的稳定性和安全性而闻名。它是一个基于Red Hat Enterprise Linux&#xff08;RHEL&#x…

国和建设集团网站广州网站优化公司排名

背景&#xff1a; 之前用酷安上下载的苏苏亮亮版友提供的Openwrt&#xff0c;在高通410棒子上刷机成功&#xff0c;但编译一直就没搞定。近期听说又出了个分支版本ImmortalWrt&#xff0c;刷了个版本&#xff0c;感觉界面清爽不少&#xff0c;内核也升级&#xff0c;遂打算搞定…

建设网站要什么电脑网页设计与制作教程电子书

随着电子商务的快速发展&#xff0c;物流行业的包裹数量持续增长&#xff0c;给物流企业带来了巨大的运营压力。目前&#xff0c;国内大型物流运转中心已开始采用机器视觉自动化设备&#xff0c;但多数快递公司处于半自动化状态&#xff0c;中小型物流分拣中心目前仍靠人工录入…

网站后台打开很慢建设网站联盟

品牌发言稿的重要性不言而喻&#xff0c;它不仅代表着品牌形象&#xff0c;更是沟通品牌与消费者、合作伙伴的桥梁。如何撰写一篇高质量的品牌发言稿&#xff0c;成为许多品牌关注的焦点。今天媒介盒子来和大家聊聊&#xff1a;品牌发言稿怎么写。 一、 发言稿写作技巧 1.结构…

单页销售型网站培训机构有哪些

介绍&#xff1a; 在开始编写Python 3程序之前&#xff0c;有一些基本步骤和概念需要了解。以下是开始Python 3编程之旅的第一步介绍&#xff1a; 安装Python&#xff1a; 访问Python官方网站 python.org 下载适合您操作系统的Python版本&#xff08;确保选择Python 3而非Pytho…