范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

19消息队列如何降低消息队列系统中消息的延迟?

  这些可我们来思考一下,消息队列除了前面介绍的内容,还有哪些点呢?
  先来看一个场景:在电商项目中,用户在下完单支付之后,会向消息队列发送一条消息,服务程序消费消息后给用户发送优惠券或者增加几分之类的后续动作。用户下单之后十几分钟或者几个小时之后可以接受,但是一旦消息队列出现堆积,用户长时间拿不到优惠券,那么用户就会投诉了。
  这个时候你就要关注消息的消费延迟了,这个其实是消费性能的问题,那么如何来提高消息的消费性能呢?首先我们需要监控消费延迟的时间,有了这个数据之后我们才能知道延迟的数据是否满足业务的需求,并且可以评估优化的效果。这个时候就需要掌握如何正确的使用消息队列,以及消息队列本身是如何快速保存消息及快速的投递消息的。  如何监控消息延迟
  两种方式:  使用消息队列提供的工具,通过监控消息堆积来完成  通过生产监控消息的方式来监控消息延迟  在 Kafka 中,消费者的消费进度在不同的版本上是不同的。
  在 Kafka0.9 之前的版本中,消费进度是存储在 ZooKeeper 中的,消费者在消费消息的时候先要从 ZooKeeper 中获取最新的消费进度,再从这个进度的基础上消费后面的消息。
  在 Kafka0.9 版本之后,消费进度被迁入到 Kakfa 的一个专门的 topic 叫"__consumer_offsets"里面。所以如果你了解 kafka 的原理,可以依据不同的版本从不同的位置获取到这个消费进度的信息。
  首先,Kafka 提供了工具叫做"kafka-consumer-groups.sh"(它在 Kafka 安装包的 bin 目录下)。
  你还可以通过生成监控消息的方式来监控消息的延迟。  具体怎么做呢?
  先定义一种特殊的消息,然后启动一个监控程序将这个消息循环写入消息队列中,消息的内容包含生成消息的时间戳,监控程序在消费到这个消息时就可以跟生成的时间做对比,如果时间差达到一个阈值就可以触发告警。
  了解了消息延迟的监控方式之后,我们再来看看如何提升消息的写入和消费性能,这样才会让异步的消息得到尽快的处理。  减少消息延迟的正确姿势
  想要减少消息的处理延迟,我们需要在消费端和消息队列两个层面来完成。
  消费端就是提升消费的能力,如下:  优化消费代码的提升  增加消费者数量
  下面我们来重点探讨第二种。
  kafka 中一个 TopIC 可以配置多个分区,数据会被平均或者消费者指定的方式写入到分区中,那么在消费的时候,kafka 约定一个分区只能被一个消费者消费,为什么这么设计呢?
  在我看来,如果有多个consumer可以消费一个分区消息,那么在操作这个消费进度的时候就需要加锁,可能会对性能有一定的损耗。所以说分区的数量决定了消费的并行度,增加多余的消费者也是也是没有用处,可以通过增加分区来提高消费者处理能力。
  那么 如何在不增加分区的情况下提高消费能力呢?
  虽然不能增加 consumer 但是你可以增加一个consumer的处理能力,就是一个 consumer中增加并行消费的能力。可以创建一个或者多个线程池,接收到消息之后,丢到线程池来异步处理,这样原本串行的任务处理改成了并行。
  另外,在消费队列中数据的时候还需要注意消费线程空转的问题。
  所以,你在写消费客户端的时候要考虑这种场景,拉取不到消息可以等待一段时间再来拉取,等待的时间不宜过长,否则会增加消息的延迟。我一般建议固定的 10ms~100ms,也可以按照一定步长递增,比如第一次拉取不到消息等待 10ms,第二次 20ms,最长可以到 100ms,直到拉取到消息再回到 10ms。
  再来说说消息队列本身在读取性能优化方面做了哪些事情。  消息的存储  零拷贝技术
  针对第一点,  我最初在设计的时候为了实现简单,使用了普通的数据库来存储消息,但是受限于数据库的性能瓶颈,读取 QPS 只能到 2000,后面我重构了存储模块,使用本地磁盘作为存储介质。Page Cache 的存在就可以提升消息的读取速度,即使要读取磁盘中的数据,由于消息的读取是顺序的并且不需要跨网络读取数据,所以读取消息的 QPS 提升了一个数量级。
  另外一个优化点是零拷贝技术,说是零拷贝  ,其实我们不可能消灭数据的拷贝,只是尽量减少拷贝的次数。在读取消息队列的数据的时候,其实就是把磁盘中的数据通过网络发送给消费客户端,在实现上会有四次数据拷贝的步骤:  数据从磁盘拷贝到内核缓冲区  系统调用将内核缓冲区数据拷贝到用户缓存区  用户缓存区数据被写入到 Socket 缓冲区中;  操作系统再 Socket 缓冲区中数据拷贝到网卡缓冲区
  操作系统提供了 Sendfile 函数可以减少数据被拷贝的次数。使用了 Sendfile 之后,在内核缓冲区的数据不会被拷贝到用户缓冲区而是直接被拷贝到 Socket 缓冲区,节省了一次拷贝的过程提升了消息发送的性能。高级语言中对于 Sendfile 函数有封装,比如说在 Java 里面的 java.nio.channels.FileChannel 类就提供了 transferTo 方法提供了 Sendfile 的功能。
  总结
  如何提高消息队列的性能来降低消息消费的延迟呢?  消息队列提供的工具来监控消息消费的延迟  横向扩展消费者数量增加消息处理的能力  选择高性能的消息存储方式,提升消费性能
  消息队列也是一种特殊的队列,只要设计队列,任务堆积就是一个不可忽视的问题,很多故障都源于此处。

电商新风口,如何用社交赢天下?随着互联网的普及和整个经济形态的转变,这十年来新媒体和电商一直处于爆发性增长的态势,传统的营销模式受到了剧烈冲击,无数传统企业就发现沿袭老一套的营销模式走不通,所以就把心思放到了电让手持拍摄变得更加简单,智云品牌发布会连发三款新品作为国内外知名的手持稳定器设备生产厂商,智云在10月31日正式举办品牌升级发布会,现场除了智云创始人索尼(中国)代表以及各分享嘉宾出席活动之外,还同步上市了云鹤M3SMOOTH5S浅谈M2固态硬盘堆料颗粒主控协议对SSD的影响颗粒主控协议这些配置决定了一块固态硬盘的性能与定位。和手机一样,高端旗舰定位的固态硬盘,在参数配置方面大多数都是采用了目前主流厂商的零部件,比如镁光TLC群联的主控等等。那么颗粒主iPhone11ProMax上手一周,简单说一下体验感受开售前,从拼夕夕上买的iPhone11ProMax,256GB,赶上百亿补贴,货没收到,先返了900到支出账户,实际到手9999元,平生第一次买这么贵的手机。简单来说一下简单的使用AMDcpu一不小心掉地上了,这种方法修复弯针脚很简单我们在日常维护电脑的时候,由于好奇好多人都会把CPU拆下来,看一下,偶尔一不小心CPU掉在地上就变成这样的了这些针脚变弯,肯定不能在放到主板上了,下面介绍下怎么把所有针脚摆正。一把真相只有一个!腾百万之间的关系是这样的核心阅读笔者在审视这次事件时发现,看衰飞凡的内容里面,都称呼飞凡为飞凡网。这个称谓挺有意思,接触飞凡两年多,从没听说飞凡对外称呼又叫飞凡网。正文跟了万达旗下飞凡电商的新闻两年有余,爱了!三个功能让我决定,家里就选华为智慧屏S系列了现在很多科技新品一出来,网友就在吐槽要做减法,不是继续做加法。其实这一想法在智能电视领域也挺普遍的,在智慧屏没出来前,几乎大多数品牌都在执着一块屏的素养,亦或是芯片的迭代,功能技术依恋与12种亲子关系力一个月之前吧,不知怎的,许久未联系的同学突然联系我,说想要我帮忙寻找下离婚律师,很不幸,我并没有这方面的资源,所以没帮到她。同学离婚的要求不高,只要孩子。她说她实在忍受不了她的孩子入选国家产教融合型企业,科大讯飞单日涨幅6。83,每股重回606月17日,科大讯飞维持了端午节后开盘以来的上涨态势,盘中股价一度高达63。18元,报收62。58元,较昨日收盘大涨6。83。股价飘红的背后,是科大讯飞入选国家产教融合型企业名单所国家中心城市呼之欲出,有你们省会吗?国家中心城市是各大省会城市都欲争取的荣誉,成为国家中心城市,不仅是荣誉,更多的是在国家资源分配政策倾斜政策支持财政方面均会获得国家大力支持,换句话说,就是举全国之力发展中心城市,对智能安全生活不凡体验华为智选生态连发四款新品HUAWEIHiLink平台拥有卓越的网络和智能技术,通过与TOP级企业进行合作,孕育而生的华为智选生态产品给智能生活带来不凡体验。如今,继照明环境系列之后,华为智选生态再迎新品,
广州大学5项成果获2021年广东省科学技术奖南都讯记者孙小鹏通讯员广大宣日前,广东全省科技创新大会在广州举行,会上颁发了2021年度广东省科学技术奖,180个项目(人)获奖。据悉,广州大学5项成果荣获广东省科学技术奖,其中以centos8安装mysql5。6,mysql5。5,yum切换mysql版本安装首先选择正确的云yum源MYSQL的yum源在官网dev。mysql。comdownloadsrepoyum以上为官网yum地址进入网复制对应版本的DOWNLOAD复制地址即可以下钽及钽合金高温抗氧化涂层研究钽及钽合金具有高熔点良好的耐蚀性能优异的高温强度良好的加工性能可焊接性能较低的塑脆转变度及优异的动态力学性能等优点,使其广泛应用于电子武器化工航空航天工业与空间核动力系统等行业是在我校核电堆芯智能运维机器人装备关键技术与应用项目获河北省科技进步奖一等奖我校为第一完成单位的核电堆芯智能运维机器人装备关键技术与应用项目获得2021年度河北省科技进步一等奖。该项目由张明路教授主持,河北工业大学中广核检测技术有限公司以及中广核研究院有限户外运动新型装备,千元级GPS运动手表didoS2Pro首先说下我对这款手表简单的一个体验,这是一款价格亲民,功能齐全的运动手表。价格在千元左右,大部分人都能接受,配有大部分运动手表具有的健康与运动监测功能,同时能够满足户外运动需求。这TikTok将在东南亚四国正式上线跨境电商业务文福布斯中国TikTok宣布将在4月25日正式上线东南亚四国(泰国越南马来西亚菲律宾)的TikTokShop跨境电商业务。自此,TikTok将支持亚洲六国(泰国越南马来西亚菲律宾中vivoT2携5500mAh备货,有12512G版本,处理器快充等纷纷升级最近vivo这个品牌可以说是全面起飞,在新机发布节奏上简直不像话,简单来说就是新机一部接一部,让人看不过来了。从年初VIVOiQOO9系列开始,到vivoXnote再到已经上线预约马斯克宣布收购后Twitter发布财报未来将私有化4月28日美股盘前,Twitter发布了2022年第一季度财报。在特斯拉CEO马斯克宣布以440亿美元收购之后,Twitter未来将面临私有化。财报显示,Twitter第一季度营收外交部所谓互联网未来宣言是美国等国挑动网络空间对抗的最新例证中国青年报客户端北京4月29日电(中青报中青网记者胡文利)日前,美国与欧盟英国澳大利亚和日本等联合发起所谓互联网未来宣言。美国原计划去年在民主峰会期间建立互联网未来联盟,但由于多方信息化AI技术软件机器人代替人工,企业未来将走向智能化时代除经济实力外,企业的核心竞争力在一定程度上体现在科技竞争力和可持续发展能力上。从某种意义上说,企业的科技竞争力体现在能否与时代要求紧密结合。企业行政管理在企业发展中发挥着服务和保障天玑90002K屏幕,价格不超3000,它是最便宜的天玑9000产品毫无疑问,当今安卓阵营最强的芯片就是天玑9000,尽管大部分的旗舰采用的是高通骁龙8Gen1,但仍然改变不了它性能和功耗都不如天玑9000的事实,在这我只想说一句台积电4nmYYD