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

广西专业做网站的公司哪里有网站开发平台

广西专业做网站的公司,哪里有网站开发平台,推广公司主要做什么,百度引擎入口连带着端午一起给自己放了一个小长假,返校的第一天开始了无尽的挨骂QAQ,一个小论文从上午讨论到下午,是真的一坨,也是真的不想写哇 今日完成记录 TimePlan完成情况8:30 - 9:30RabbitMQ学习√9:…

连带着端午一起给自己放了一个小长假,返校的第一天开始了无尽的挨骂QAQ,一个小论文从上午讨论到下午,是真的一坨,也是真的不想写哇

今日完成记录

TimePlan完成情况
8:30 - 9:30RabbitMQ学习
9:30 - 11:00挨骂
13:30 - 14:30练胸
14:30 - 15:30继续挨骂
15:30 - 17:30RabbitMQ学习
19:00 - 20:30篮球
20:30 - 22:00羽毛球

RabbitMQ

粗略完成了初级篇,今天开始高级篇,主要是关于消息队列的可靠性部分

主要学习问题有两个:

  1. 如何保证MQ消息的可靠性
  2. 如果真的出现了消息发送失败,有没有其他的兜底方案

在讨论这两个问题之前,先分析一下在MQ发送消息到消费消息成功这个过程中,哪些环节可能出现丢失消息?
在这里插入图片描述
如上图,可能发生消息丢失的情况有:

  1. 生产者发送消息给交换机:
    • 连接MQ失败
    • 发送消息找不到交换机
    • 交换机接收但是找不到匹配的队列【路由失败】
    • 消息到达MQ后处理消息的进程发生异常
  2. MQ导致消息丢失:
    • 消息发送到队列后未被消费就宕机了
  3. 消费者处理消息时:
    • 消息接收后未处理就宕机
    • 消息接收后处理过程抛出异常

因此,我们应该在这三个方面保证MQ的可靠性:

  1. 确保生产者一定会将消息发送到MQ
  2. 确保MQ不会弄丢消息
  3. 确保消费者成功消费消息

生产者的可靠性

生产者重试机制

首先针对第一种场景:生产者发送消息时,由于网络导致的MQ连接中断
为了解决这个问题,SpringAMQP提供了消息发送的重试机制:当RabbitTemplate与MQ连接超时后,进行多次重试
修改application.yaml增加相关设置

spring:rabbitmq:connection-timeout: 1stemplate:retry:enabled: trueinitial-interval: 1000ms # 失败后的初始等待时间multiplier: 1 # 失败后下次的等待时长倍数 下次等待时间 = 上一次等待时间/initial-interval * multipliermax-attempts: 3 # 最大尝试重连次数

简单测试一下,首先停掉rabbitmq服务,模拟网络连接失败,然后启动测试脚本尝试发送消息,观察日志情况。

06-05 19:24:41:919  INFO 33216 --- [           main] o.s.a.r.c.CachingConnectionFactory       : Attempting to connect to: [192.168.4.41:5672]
06-05 19:24:43:948  INFO 33216 --- [           main] o.s.a.r.c.CachingConnectionFactory       : Attempting to connect to: [192.168.4.41:5672]
06-05 19:24:45:970  INFO 33216 --- [           main] o.s.a.r.c.CachingConnectionFactory       : Attempting to connect to: [192.168.4.41:5672]

观察发现等待时间间隔是2s,并不是1s,实际上这是因为其他操作的一些耗时和计算开销。当设置初始间隔为2s,退避指数为2,最大等待时间为20s,发现等待时间变化是:3,5,9,11,21,21,21。每一项减去1刚好符合计算公式,所以这个1s应该就是一些其余的计算开销。

生产者确认机制

一般来说,生产者和MQ之间的网络通畅,基本不会出现消息丢失的情况,因此大多数情况不需要考虑这个问题,但是在少数情况下,也会出现消息发送到MQ后丢失的现象:

  1. MQ内部处理消息的进程异常
  2. 生产者发送消息到MQ后没找到exchange
  3. 发送到exchange后没找到queue,无法路由

因此设计了生产者确认机制,publisher confirm和publish return。

http://www.dtcms.com/wzjs/781376.html

相关文章:

  • 帮传销做网站贵州网站优化公司
  • 设计投稿网站江浙沪做网站的公司
  • 重庆建设网站首页东营住房和城乡建设信息网
  • 淘宝做任务网站怎么学php网站开发
  • 公司网站 仿站什么意思医院网站建设案例
  • 影视采集网站怎么做收录洛阳营销型网站建设
  • 为什么建设旅游网站如何做后台网站的教程
  • 网站色调985短链接生成
  • 番禺建设网站系统简洁ppt模板下载 免费
  • 网站怎么开通微信支付官方网站手机
  • saas建站 彩页东莞公司注册地址
  • 做暧暖ox免费网站wordpress文章自动发布
  • 没有网站怎么做链接视频陕西交通建设集团信息网站
  • 承德优化网站建设网站和网页的概念
  • 西安网站建设聂卫网站前台建设用到哪些工具
  • 安徽建设厅网站进不去长沙互联网网站建设
  • 网站 空间 下载怎么用ip地址做网站
  • 制作网站接单丹阳网站建设价格
  • 新开传奇网站一地方网站如何做
  • 邯郸网站制作哪家好小红书网站建设目的
  • 一般纳税人企业所得税怎么征收太原seo
  • 不通过网站可以做360全景吗中国做出口的网站平台
  • 网站推广常用方法遵义网站制作一般需要多少钱
  • 如何做招聘网站运营微信商城源码
  • 能自己做头像的网站建设局和住建局是一个部门吗
  • 网站制作公司杭州如何分析网站建设
  • 网站域名登记证明文件吴忠seo
  • 站长工具在线oa企业办公系统
  • 如何做外贸网站的推广买一个网页需要多少钱
  • 苏州公司做变更网站优化公司组织架构