游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

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

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

六年级英语开学第一课教案六年级应该开学第一课教案怎么写?下面是由小编为大家带来的关于六年级英语开学第一课教案,希望能够帮到您!六年级英语开学第一课教案课题:Unit1Whatclassar……蟋蟀的住宅教学设计《蟋蟀的住宅》是法布尔写的一篇观察笔记,属于科学小品文。下面是小编收集整理的蟋蟀的住宅教学设计,欢迎阅读参考!一、教学目标1。认识7个生字,会写13个生字。正确读写……二年级下册语文园地六节气歌的教学反思小学语文二年级下册语文园地六的内容很有趣,有几道题都是关于热爱自然,了解自然的主题的。如《节气歌》,四行诗歌包含了一年二十四个节气。节气对于学生来讲很生疏,在教学时我重在激发学……酸碱盐化学性质复习课后说课稿作为一名教职工,时常需要编写说课稿,借助说课稿可以让教学工作更科学化。写说课稿需要注意哪些格式呢?下面是小编收集整理的酸碱盐化学性质复习课后说课稿,欢迎大家借鉴与参考,希望对大……自然地理环境的整体性说课稿:第一节自然地理环境的整体性教材分析:自然地理环境的整体性是高中阶段自然地理部分学习的总结,同时要为人文地理的学习打下基础,以及为正确处理人地关系并正确指导人类活动……爱护幼小教学目标认知:1知道是一种美德,欺负幼小是不道德的行为。2知道小同学需要别人的关心和爱护,大同学理应关心、爱护小同学。情感:1对幼小有同情爱护之情……支玉恒太阳第一课时教学实录第一课时第一部分师生互相问好,开始上课。师:敢积极发言吗?生:敢。师:我现在要提课堂上的第一个问题。不管问题有多难,不管你会不会答,你都敢尝试一下的,请……第18课ampnbspampnbsp科学技术的成就(二)第18课科学技术的成就(二)课程目标:知道863计划的制定。以计算机网络技术的应用为例,说明信息技术在促进我国社会发展中的重要作用教学目标知识与能力:掌……绝招的教学设计范文学习目标1、有感情地朗读课文。2、理解课文内容,懂得绝招是练出来的,要练有用的绝招的道理。3、培养独立阅读能力。教学过程一、理解课题,导入新课……2020届高考英语名词性从句语法复习高中英语语法之名词性从句在句子中起名词作用的句子叫名词性从句(nounclauses)。名词性从句的功能相当于名词词组,它在复合句中能担任主语、宾语、表语、同位语、介词宾……2019中考英语如何打造精彩作文句子1。扩词拉长:agirlabeautifulgirlabeautifulandsmartgirlabeautifulandsmartgirlnam……美术教师说课稿范文各位评委、领导、老师们好!我今天的说课将采用四说的说课模式。今天我准备:一说教材,二说教法,三说学法,四说教学过程。理论根据将贯穿以上流程中。一、说教材1、分析教材……
矿视界译文埃隆马斯克在比特币讨论大会上说了些什么?7月21日,特斯拉CEO埃隆马斯克和推特CEO杰克多尔西在比特币讨论大会(TheBWordConference)上分享了许多他们的观点,那么他们对加密货币有什么看法呢?这……今日资讯iPhone13系列部分存在bug优酷回应迪迦奥特曼文锌财经责编组整理编辑大风苹果承认部分iPhone13系列存在备份恢复bug24日,iPhone13系列正式发售,不少网友在收到手机后就迫不及待地分享了开箱视频。然……今日头条捏造某知名商业人士去世消息的账号已永久封禁IT之家11月15日消息,今日下午,头条号管理员发布《今日头条关于打击谣言的处罚公告》称,11月14日21时21分,微头条用户身拥大海2捏造某知名商业人士去世消息。今日头……科学记数法说课稿范文一、教材的地位与作用:科学记数法是在学生学习了有理数的乘方知识后,安排了一节与现实世界中的数据(尤其是大数)相关的数学内容,一方面让学生感受现实宏观世界中的大数,培养学生……消极的近义词消极用作形容词,指否定的;反面的;阻碍发展的。一、【近义词】悲观、灰心、绝望、扫兴、失望、颓废、消沉、低落、低沉、颓唐、颓丧、气馁、沮丧二、【词语注音】……学棋教学反思范文《学棋》这篇课文讲了古时候两个学生向围棋能手秋学下棋,一个专心致志,一个心不在焉,所学结果截然不同。在教学中,我通过朗读的指导、重点词语的品析、说话的训练等教学活动,让学生明白……乐视宣布5月18日举行智能生态发布会,海报中出现疑似贾跃亭剪IT之家5月13日消息乐视官方今日突然发微博称:我回来了!5月18日举办乐视智能生态发布会,配文带着全新的自己,带着惊喜和乐视智能生态,带着掀起科技风暴的能量,518不负期待,……欢庆优秀教学设计范文【教材分析】《欢庆》这首诗写的就是给祖国妈妈过生日的情景。从田野到枫林,从蓝天到大海,从首都北京到天涯海角,到处都沉浸在欢乐之中。金黄的果实,火红的枫叶,洁白的鸽子,阵阵……超高清保存国粹北京京剧院完成首次8K京剧录制IT之家3月11日消息根据北京中联合超高清协同技术中心有限公司的消息,中联超清首次与北京京剧院携手合作,采用8K超高清视频技术,在长安大戏院成功完成北京京剧院新编京剧《嫦娥奔月……北理工通报硕士原文照搬顶会论文严重学术不端,留校察看标题、图表、公式完全一致!论文几乎一字不差!前段时间,北京理工大学硕士生张某某几乎原文照搬式抄袭事件,在网上传得可谓是沸沸扬扬。而就在最近,北理工研究生院正式发布了对此事……小米申请新图形商标,为雷军个人签名IT之家11月23日消息,近日,小米科技有限责任公司申请图形商标,国际分类涉建筑材料,企查查App显示,申请日期为2021年11月,据悉该图形为雷军个人签名。对于没有见过……贝索斯向夏威夷捐赠价值1。72亿美元亚马逊股票9月3日消息,美国当地时间周四,亚马逊创始人兼执行董事长杰夫贝索斯(JeffBezos)向夏威夷第二大岛茂宜岛(Maui)上的非营利组织进行了两笔个人捐赠,总共捐赠了价值约为1……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网