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

什么免费推广网站好江苏建设人才无纸化考核网站

什么免费推广网站好,江苏建设人才无纸化考核网站,天圆地方建筑网站,null wordpress theme我们已经学过使用 SpringAMQP去收和发消息#xff0c;但是发和收消息是只是MQ最基本的功能了#xff0c;在收发消息的过程中#xff0c;会有很多的问题需要去解决#xff0c;下面需要学习rabbitMQ的高级特性去解决 死信交换机#xff1a;这个可以帮助我们实现消息的延迟的… 我们已经学过使用 SpringAMQP去收和发消息但是发和收消息是只是MQ最基本的功能了在收发消息的过程中会有很多的问题需要去解决下面需要学习rabbitMQ的高级特性去解决  死信交换机这个可以帮助我们实现消息的延迟的特性 惰性队列可以去解决成百万更高消息堆积的问题 MQ集群解决单点MQ的可用性问题 一消息的可靠性 在消息的传递过程中凡是有消息传递都由可能导致消息丢失生产者者将消息传输到交换机这个过程中有网络传输有可能丢失。 交换机将消息路由给队列这个过程中也有可能丢失他们都属于在消息的发送过程中丢失只有到达队列队列将消息保存起来了才算发送成功 发送成功消息并不安全这个时候如果MQ宕机了mq又是内存存储一宕机内存中的数据全部都是消息也会丢失MQ本身也有可能把消息弄丢 前面没有问题消息到了消费者消费者也有可能宕机比如说消息刚到消费者消费者还没有处理就挂了消息也就丢失了消费者也有可能把消息弄丢  1生产者消息确认 生产者如何保证消息不会丢失呢 动手实现消费者确认 消费者  生产者 ApplicationContext是Spring的Bean容器工厂Aware是通知ApplicationContextAware是Bean容器的通知当Spring的Bean工厂准备好之后它会来通知你 上面的代码是在Bean工厂创建完以后代码会在项目启动后去执行CallBack是全局的CallBack ReturnCallback是消息到了交换机了但是路由的时候失败了 ConfirmCallBack是指消息没有到达交换机 在生产者代码中加 发送消息通过单元测试发 点击这个交换机绑定队列 原来简单的发送消息是这样的 现在要做消息确认 Lambda表达式简化 失败的情况: 消息没有到交换机网络丢包了我们这里交换机名字填错 还有一种情况消息成功到达交换机没有到达队列有很多种比如说到了交换机还没有来的及到队列的时候结果服务出现故障了我们这里也是修改路由key写错了这个时候肯定到达不了队列这个时候会返回ReturnCallBack 2消息的持久化 生产者确认可以保证消息投递到队列当中但是这样消息还是不安全的RabbitMQ 默认是内存存储此时MQ出现宕机消息也是会丢失的 要想让消息真正安全要把消息做到持久化把消息写到磁盘当中 我们已经发送一条消息这个时候我们重启下MQ看看队列中的消息是否持久存在 发现所有队列都没了  系统自带的交换机都是存在的 在控制台创建队列的时候可以把对列设置为持久的 在消费者代码中添加 启动消费者服务 浏览器队列 交换机 重新发送一条消息先关掉消费者服务不让他消费消息 浏览器发送消息点击这个队列 刷新页面就有消息了  在次重启mq 交换机队列都在 但是消息没了说明消息没有持久 需要设置消息持久  单元测试发送持久化消息 再重新mq  刷新页面消息还在 我们平常在SpringAMQP当中队列交换机以及消息默认情况下都是持久的 上面的内容是告诉大家持久化怎么去做持久化是写磁盘的会有性能的损耗不是所有的数据需要持久化  3消费者消息确认 经过前面学习能够保证消息能够投递到消费者但是消费者能够正常消费吗不能的消息投递后的那一刻消费者立马就挂了这样消息还是没有消费休息就丢失了RabbbitMQ中又提供一种消费者的消费确认机制 在消费者的配置文件添加先设置none None模式消息投递立即删除  刷新浏览器 消费者抛异常了消息就废了消费者这里没了队列也没了消息就丢失了  改为auto模式 先往里面发送一条消息  刷新浏览器 状态变为Unacked等待返回ack 释放断点出现异常它会一直重复发送消息 永不停止这样不太好需要去处理此时消息不会丢失 4失败重试机制 我们通过上面设置实现了消费者的确认机制至少确保消息能被消费一次只不过当消费者消费失败以后它会返回nack这样消息会重新到 MQ的队列里MQ再次把消息投递给消费者如果代码没有问题消息最终可能被消费如果代码有问题就会无限循环默认的重复尝试机制是有问题的 重试的时间消息间隔倍数为三  超过重试次数消息就会被拒绝  此时消息就没有了消息就被丢弃了  5消费者失败消息处理策略 消费者这里重试不会给mq带来压力它是在消费者本地不断的重试这种做法有一个问题在多次重试之后会将消息直接丢弃对一些普通消息来讲直接丢了无所谓但是有一些业务中的消息很重要不能直接丢弃 下面是小时重试之后的处理方案 失败的消息我们可以找一个消费者专门监听失败的消息队列凡是失败的消息都能够被消费者拿到这个消费者可以把这个消息发送给管理员通知它消息失败了这个时候可以人工去介入处理这些消息通过这样设置就可以做到消息真正的万无一失了从生产者到消费者到最后还有一门兜底的方案  发送一条消息 在error队列中就会出现错误的异常跟消息这样管理员就可以知道那条消息失败和错误的原因
http://www.dnsts.com.cn/news/50133.html

相关文章:

  • 做网站如何挂支付系统手机在线做ppt的网站有哪些问题
  • 网站ui怎么做的安阳包装设计
  • 网站说建设中设计师必备网站
  • 哪个网站做的比较好万家建设有限公司网站
  • 网上做结婚照的网站安装wordpress提示500错误
  • 网站建设经营范围怎么写网站开发要用什么工具软件
  • 网站建设教程这篇苏州久远网络淮安公司企业网站建设
  • 站内站怎么搭建wordpress装在xampp
  • 企业网站开发外包合同公司推广哪个平台好
  • 网站开发与管理微网站建设教程视频
  • 那个网站卖做防水的烤枪邀请注册推广赚钱
  • 海口网站公司如何做好专业类网站
  • 网站开发费怎样入账淄博网站建设团队
  • 长沙做信息seo网站软件开发外包商业模式
  • 网站开发流程进度表用vue做网站
  • 怎样电脑登录网站乐平网站
  • pageadmin仿站教程学物联网工程后悔死了
  • 网站建设营业执照wordpress链接跳转错误
  • 开通公司网站怎么做分录哈尔滨建站模板
  • 网站搭建详细教程discuz模板下载
  • 广州优化网站推广网站的虚拟人怎么做的
  • 网站的ftp怎么登陆有哪些企业官网做得比较好
  • 外链网站推荐几个巴中做网站公司
  • 网站 流量攻击免费发布便民信息平台
  • 从事网站开发需要哪些知识学做网站需要什么基础
  • 怎样用网站做淘宝推广WordPress站点地图代码
  • 傻瓜建网站湖南网站设计公司
  • 自己做的网站改变字体企业网站数防泄露怎么做
  • 做网站的工资网络营销的主要手段和策略
  • 陕西省信用建设门户网站有代源码怎么做自己网站