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

那个网站可以做司考真题网站宣传费用

那个网站可以做司考真题,网站宣传费用,ssc网站建设,长沙网站建设公司招聘目录 MQ的可靠性 1.如何设置数据持久化 1.1.交换机持久化 1.2.队列持久化 1.3.消息持久化 2.消息持久化 队列持久化: 消息持久化: 3.非消息持久化 非持久化队列: 非持久化消息: 4.消息的存储机制 4.1持久化消息&…

目录

MQ的可靠性

1.如何设置数据持久化

1.1.交换机持久化

1.2.队列持久化

1.3.消息持久化

2.消息持久化

队列持久化:

消息持久化:

3.非消息持久化

非持久化队列:

非持久化消息:

4.消息的存储机制

4.1持久化消息(Persistent Messages)

4.2非持久化消息(Transient Messages)

4.3关键区别

4.4总结


之前的文章我们介绍了RabbitMQ的发送者的可靠性,接下来我来向大家讲解MQ的可靠性

发送者的可靠性文章

MQ的可靠性

消息到达MQ以后,如果MQ不能及时保存,也会导致消息丢失,所以MQ的可靠性也非常重要。

1.如何设置数据持久化

为了提升性能,默认情况下MQ的数据都是在内存存储的临时数据,重启后就会消失。为了保证数据的可靠性,必须配置数据持久化,包括:

  • 交换机持久化

  • 队列持久化

  • 消息持久化

我们以控制台界面为例来说明。

持久化:数据存储在磁盘,服务宕机了,数据也不会丢失。

非持久化:数据存储在内存,服务宕机了,数据也就不在了

1.1.交换机持久化

在控制台的Exchanges页面,添加交换机时可以配置交换机的Durability参数:

设置为Durable就是持久化模式,Transient就是临时模式。

1.2.队列持久化

在控制台的Queues页面,添加队列时,同样可以配置队列的Durability参数:

1.3.消息持久化

在控制台发送消息的时候,可以添加很多参数,而消息的持久化是要配置一个properties

Non-persistent:消息非持久化 Persistent:消息持久化

2.消息持久化

消息持久化是为了确保即使 RabbitMQ 服务重启或崩溃,消息也不会丢失。它主要包括以下几个步骤:

  1. 队列持久化

    • 当创建队列时,如果指定了队列的持久化属性(durable=true),那么该队列会被写入磁盘。即使 RabbitMQ 服务重启,该队列仍然存在。

    • 但如果队列中没有消息或消息没有被持久化,队列重启后将是空的。

  2. 消息持久化

    • 当发送消息时,如果指定了消息的持久化属性(delivery_mode=2),那么消息会被写入磁盘。即使 RabbitMQ 服务重启,消息仍然存在,直到被消费者消费。

    • 消息的持久化和队列的持久化需要同时设置,否则消息仍然可能丢失。例如,如果队列没有设置持久化,即使消息设置了持久化,队列在重启后也会消失,消息也就随之丢失。

3.非消息持久化

非持久化消息主要用于某些场景下,如消息的可靠性要求不高,或者需要快速传输大量消息。它主要包括以下几个步骤:

  1. 非持久化队列

  • 当创建队列时,如果没有指定队列的持久化属性(durable=false),那么该队列不会被写入磁盘。如果 RabbitMQ 服务重启,该队列将消失。
  1. 非持久化消息

  • 当发送消息时,如果没有指定消息的持久化属性(delivery_mode=1),那么消息不会被写入磁盘。如果 RabbitMQ 服务重启,消息将丢失。

4.消息的存储机制

4.1持久化消息(Persistent Messages)

  • In Memory:持久化消息会被缓存在内存中,以便快速处理。

  • Persistent:这些消息同时也会被写入磁盘进行持久化存储。即使RabbitMQ服务重启,持久化消息也不会丢失,因为它们在磁盘上有副本。

4.2非持久化消息(Transient Messages)

  • In Memory:非持久化消息同样会被缓存在内存中。

  • Paged Out:当内存资源紧张时,RabbitMQ会将部分非持久化消息从内存换出到磁盘。这些消息被换出到磁盘后,如果内存压力减轻,可能会被换回内存。但与持久化消息不同的是,非持久化消息在磁盘上没有持久化副本,因此在RabbitMQ服务重启时,这些消息不会被恢复。

4.3关键区别

  • 持久化消息:内存中的数据是缓存,同时在磁盘上有持久化副本,以确保数据不会丢失。

  • 非持久化消息:内存中的数据是主要存储位置,磁盘上的数据只是在内存压力下的一种临时存储方式,并不用于持久化。

4.4总结

  • 持久化消息:内存和磁盘上都有数据,磁盘上的数据用于持久化。

  • 非持久化消息:内存和磁盘上都有数据,但磁盘上的数据只是临时的,不用于持久化。

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

相关文章:

  • 开封市建设中专继续教育网站手机网站关键词seo
  • 贵大网站建设多少钱网站新域名查询
  • 怎么用网页源码做网站seo学途论坛网
  • wordpress设置用户注册郑州seo管理
  • 网站开发 wenzhou怎么找需要做推广的公司
  • 音乐网站设计怎么做构建新发展格局
  • 小程序源码库天津百度seo排名优化软件
  • 小程序商店网址seo就业前景
  • 建网站 3年服务关键词网站排名查询
  • 内蒙古知名网站建设百度高级搜索入口
  • app要有网站做基础知识2021谷歌搜索入口
  • 台州网站专业制作石家庄百度快照优化排名
  • 广东智慧团建网站登录关键词全网搜索指数
  • 女孩子学广告设计好找工作吗seo站长工具 论坛
  • 二手房网站制作教程财经新闻最新消息
  • 河北 石家庄 网站建设国内免费建网站
  • 黄石网站设计公司平面设计培训
  • 为学校建设网站广东新闻今日最新闻
  • 如何做设计网站页面百度网站下载安装
  • 网站的搜索功能怎么做最好的免费信息发布平台
  • 简述网站的建设流程图济南百度推广开户
  • 网站建设使用情况seo基础知识培训
  • wordpress添加ga代码网站推广优化教程
  • 上海市建设工程交易管理中心网站关键词快速排名平台
  • 中石油技术开发公司网站电影站的seo
  • 河北城乡建设网站网站站点查询
  • 政府网站建设与维护网络推广服务
  • 北京网站建设第一品牌百度关键词优化公司哪家好
  • anaconda可以做网站吗网站建设优化400报价
  • 济南企业如何建网站网页广告