视频网站开发需要什么插件网站开发和推广的不同

news/2025/10/2 0:51:00/文章来源:
视频网站开发需要什么插件,网站开发和推广的不同,东莞市网络优化推广平台,企业官网的作用前言消息堆积是消息中间件的一大特色#xff0c;消息中间件的流量削峰、冗余存储等功能正是得益于消息中间件的消息堆积能力。然而消息堆积其实是一把亦正亦邪的双刃剑#xff0c;如果应用场合不恰当反而会对上下游的业务造成不必要的麻烦#xff0c;比如消息堆积势必会影响…前言消息堆积是消息中间件的一大特色消息中间件的流量削峰、冗余存储等功能正是得益于消息中间件的消息堆积能力。然而消息堆积其实是一把亦正亦邪的双刃剑如果应用场合不恰当反而会对上下游的业务造成不必要的麻烦比如消息堆积势必会影响上下游整个调用链的时效性有些中间件如RabbitMQ在发生消息堆积时在某些情况下还会影响自身的性能。对于Kafka而言虽然消息堆积不会对其自身性能带来多大的困扰但难免不会影响上下游的业务堆积过多有可能会造成磁盘爆满或者触发日志清除策略而造成消息丢失的情况。如何利用好消息堆积这把双刃剑监控是最为关键的一步。正文消息堆积是消费滞后(Lag)的一种表现形式消息中间件服务端中所留存的消息与消费掉的消息之间的差值即为消息堆积量也称之为消费滞后(Lag)量。对于Kafka而言消息被发送至Topic中而Topic又分成了多个分区(Partition)每一个Partition都有一个预写式的日志文件虽然Partition可以继续细分为若干个段文件(Segment)但是对于上层应用来说可以将Partition看成最小的存储单元(一个由多个Segment文件拼接的“巨型文件”)。每个Partition都由一系列有序的、不可变的消息组成这些消息被连续的追加到Partition中。我们来看下图其就是Partition的一个真实写照上图中有四个概念LogStartOffset表示一个Partition的起始位移初始为0虽然消息的增加以及日志清除策略的影响这个值会阶段性的增大。ConsumerOffset消费位移表示Partition的某个消费者消费到的位移位置。HighWatermark简称HW代表消费端所能“观察”到的Partition的最高日志位移HW大于等于ConsumerOffset的值。LogEndOffset简称LEO,代表Partition的最高日志位移其值对消费者不可见。比如在ISR(In-Sync-Replicas)副本数等于3的情况下(如下图所示)消息发送到LeaderA之后会更新LEO的值Follower B和Follower C也会实时拉取LeaderA中的消息来更新自己HW就表示A、B、C三者同时达到的日志位移也就是A、B、C三者中LEO最小的那个值。由于B、C拉取A消息之间延时问题所以HW必然不会一直与Leader的LEO相等即LEOHW。要计算Kafka中某个消费者的滞后量很简单首先看看其消费了几个Topic然后针对每个Topic来计算其中每个Partition的Lag每个Partition的Lag计算就显得非常的简单了参考下图由图可知消费LagHW - ConsumerOffset。对于这里大家有可能有个误区就是认为Lag应该是LEO与ConsumerOffset之间的差值笔者在这之前也犯过这样的错误认知详细可以参考《如何使用JMX监控Kafka》。LEO是对消费者不可见的既然不可见何来消费滞后一说。那么这里就引入了一个新的问题HW和ConsumerOffset的值如何获取呢首先来说说ConsumerOffsetKafka中有两处可以存储一个是Zookeeper而另一个是”__consumer_offsets这个内部topic中前者是0.8.x版本中的使用方式但是随着版本的迭代更新现在越来越趋向于后者。就拿1.0.0版本来说虽然默认是存储在”__consumer_offsets”中但是保不齐用于就将其存储在了Zookeeper中了。这个问题倒也不难解决针对两种方式都去拉取然后哪个有值的取哪个。不过这里还有一个问题对于消费位移来说其一般不会实时的更新而更多的是定时更新这样可以提高整体的性能。那么这个定时的时间间隔就是ConsumerOffset的误差区间之一。再来说说HW其也是Kafka中Partition的一个状态。有可能你会察觉到在Kafka的JMX中可以看到“kafka.log:typeLog,nameLogEndOffset,topic[topic_name],partition[partition_num]”这样一个属性但是这个值不是LEO而是HW。那么怎样正确的计算消费的Lag呢对Kafka熟悉的同学可能会想到Kafka中自带的kafka-consumer_groups.sh脚本中就有Lag的信息示例如下1[rootnode2 kafka_2.12-1.0.0]# bin/kafka-consumer-groups.sh --describe --bootstrap-server localhost:9092 --group CONSUMER_GROUP_ID2TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID3topic-test1 0 1648 1648 0 CLIENT_ID-e2d41f8d-dbd2-4f0e-9239-efacb55c6261 /192.168.92.1 CLIENT_ID4topic-test1 1 1648 1648 0 CLIENT_ID-e2d41f8d-dbd2-4f0e-9239-efacb55c6261 /192.168.92.1 CLIENT_ID5topic-test1 2 1648 1648 0 CLIENT_ID-e2d41f8d-dbd2-4f0e-9239-efacb55c6261 /192.168.92.1 CLIENT_ID6topic-test1 3 1648 1648 0 CLIENT_ID-e2d41f8d-dbd2-4f0e-9239-efacb55c6261 /192.168.92.1 CLIENT_ID71我们深究一下kafka-consumer_groups.sh脚本发现只有一句代码1exec $(dirname $0)/kafka-run-class.sh kafka.admin.ConsumerGroupCommand $其含义就是执行kafka.admin.ConsumerGroupCommand而已。进一步深究在ConsumerGroupCommand内部抓住了2句关键代码1val consumerGroupService new KafkaConsumerGroupService(opts)2val (state, assignments) consumerGroupService.describeGroup()代码详解consumerGroupService的类型是ConsumerGroupServicesealed trait类型)而KafkaConsumerGroupService只是ConsumerGroupService的一种实现还有一种实现是ZkConsumerGroupService分别对应新版的消费方式(消费位移存储在__consumer_offsets中)和旧版的消费方式(消费位移存储在zk中)详细计算步骤参考下一段落的内容。opt参数是指“ –describe –bootstrap-server localhost:9092 –group CONSUMER_GROUP_ID”等参数。第2句代码是调用describeGroup()方法来获取具体的信息即二元组中的assignments这个assignments中保存了上面打印信息中的所有内容。Scala小知识在Scala中trait(特征)相当于Java的接口实际上它比接口更大强大。与Java中的接口不同的是它还可以定义属性和方法的实现(JDK8起的接口默认方法)。一般情况下Scala中的类只能继承单一父类但是如果是trait的话就可以继承多个从结果来看是实现了多重继承。被sealed声明的trait仅能被同一文件的类继承。ZkConsumerGroupService中计算消费lag的步骤如下通过zk获取一些基本信息对应上面打印信息中的TOPIC、PARTITION、CONSUMER-ID等不过不会有HOST和CLIENT-ID。1、通过OffsetFetchRequest请求获取消费位移(offset)如果获取失败则在通过zk获取。2、通过OffsetReuqest请求获取分区的LogEndOffset(简称为LEO可见的LEO)。3、计算LogEndOffset与消费位移的差值来获取lag。4、KafkaConsumerGroupService中计算消费lag的步骤如下通过DescibeGroupsRequest请求获取一些基本信息不仅包括TOPIC、PARTITION、CONSUMER-ID还有HOST和CLIENT-ID。其实还有通过1、FindCoordinatorRequest请求来获取coordinator信息如果不了解coordinator在这里也没影响。2、通过OffsetFetchRequest请求获取消费位移。3、通过OffsetReuqest请求获取分区的LogEndOffset(简称为LEO)。4、计算LogEndOffset与消费位移的差值来获取lag。可以看到KafkaConsumerGroupService与ZkConsumerGroupService的计算Lag的方式都差不多但是KafkaConsumerGroupService能获取更多消费详情并且ZkConsumerGroupService也被标注为Deprecated的了后面内容都针对KafkaConsumerGroupService来做说明。既然Kafka已经为我们提供了线程的方法来获取Lag那么我们有何必再重复造轮子这里笔者写了一个调用的KafkaConsumerGroupService的示例(KafkaConsumerGroupService是使用Scala语言编写的在Java的程序里使用类似scala.collection.Seq这样的全名称以防止混淆) 1String[] agrs {--describe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

test7

tewagawegawegawegawegawegawenigawoengiawngiawnegpiawnegiawpgoewigwegaw6e15g6w51eg56aweg65aw56eg1w

单页面网站 万网x3建什么网站容易挣钱

MySQL数据库中,建立合适的索引对于提高查询性能至关重要。然而,在某些情况下,我们可能需要进一步优化查询性能,而覆盖索引(Covering Index)就是一种有效的方法。本文将介绍什么是覆盖索引以及如何在MySQL中…

US$49 Hot Sale 0386 FGTech Galletto 4 Master V54 BDM-OBD Function Unlock Version

0386 FGTech Galletto 4 Master V54 BDM-OBD Function Unlock VersionTop 6 Reasons To Get FGTech Galletto 41. Latest Version: 2014 V54 2. Supported Operating System: windows XP. more friendly than Fgtech …

影视视频网站怎么做seo公司

本人技术笨拙,今天在发布DIPS的MVC4.0项目,并部署到IIS上,遇到各种问题。在查询相关资料后,最终得以解决,所以想把这个过程记录下来。 注:DIPS为一种非关系型数据库 首先,需要安装和注册DIPS。注…

亚马逊注册没有公司网站怎么做怎么利用公网做网站

1、mqnamesrv.exe启动成功 2、启动mqbroker.exe失败 解决办法,删除C:\Users\"当前系统用户名"\store下的所有文件,就可以了转载于:https://www.cnblogs.com/roujingchuxia/p/7685796.html

vscode github 推送失败

问 AI 后的解决方法记录 问题根因:你的本地 DNS 服务器(192.168.1.1,一般是路由器或运营商 DNS)错误地把 github.com 解析成了回环地址 127.0.0.1,导致 Git 无法连上真正的 GitHub。 通过在终端运行(base) PS C:\…

信奥大联赛周赛(提高组)#2515-S 赛后盘点

战果 黄绿蓝紫,248 pts,rk 4,T3 双指针维护反了qwq,原因两个:样例太水,只给 3h。赛后略改过 T3,气死了,样例为啥这么水? D1505 E-小梦的学术论文 简单二分答案0.0,非常板,没啥好讲的。秒了。核心代码 int c…

wordpress卡蜜巩义网站优化技巧

作者主页:易学蔚来-技术互助文末获取源码 简介:Java领域优质创作者 Java项目、简历模板、学习资料、面试题库 教师考勤管理系统是基于JavaVueSpringBootMySQL实现的,包含了管理员、学生、教师三类用户。该系统实现了班级管理、课程安排、考勤…

南昌网站建设冲浪者4435建站

程序是基于Matlab2016a,工具箱版本为Robotic Toolbox 10.2 参考博客: MATLAB机器人工具箱使用 Matlab Robotic Toolbox V9.10工具箱(三):轨迹规划 六轴机器人建模方法、正逆解、轨迹规划实例与Matalb Robotic Toolbox 的实现 效果&#xff1a…

贵阳市住房建设局网站做网站用什么虚拟服务器

目录 1 前言2 本地代码上传2.1 命令行方法2.2 图形界面法2.3 结果 1 前言 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub 。开发者常常将github作为代码管理平台,方便代码存储、版本…

虚拟机仅主机模式下使用ssh远程连接Linux(EHEL8)连接慢,需要等待30秒以上

大概原因:仅主机模式中,虚拟机与物理机处于同一局域网内,但DNS服务可能未正确配置,当SSH请求域名解析时,服务器会等待DNS响应,导致连接延迟; 部分Linux系统默认开启GSSAPI认证,该认证机制在域名解析失败时会显…

VLC Player插件和自动激活

我习惯用VLC Player播放视频。它有个功能,如果电影看了一半,下次再打开时,会提示是否从上次中断的地方继续播放下去。但这个功能貌似不是很可靠。所以想自己搞个可靠的解决方案。 VLC Player可以用Lua写插件。Lua语…

第七天

10月1日放假回家。

如何做网站迁移网页设计的过程

界面设计技法之css布局css布局之于页面就如同ECMAScript之于JS一般,细想一番,html就如同语文,css就如同数学,js呢,就是物理,有些扯远,这里就先不展开了. 回到主题,从最开始的css到如今的sass(l ...作业七:团队项目——Alpha版本冲刺阶段-11部分功能实现: public voi…

网站建设框架怎么做制作短视频的app哪个好

题目描述: 输入: 第一个是n,它代表操作序列的次数。接下来是n行,每行有两个值m和t,分别代表题目中操作的两个元素。 输出: 按顺序输出收养动物的序列,编号之间以空格间隔。 源代码&#xff…

企业网站 建设流程上海人才网官网登录入口

题目描述 给你一个有序数组 nums ,请你原地删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。 输入格式 一共两行。…

网站和手机网站免费手工活外发加工网站

思维导图: 作业: 完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到…

logback.xml 常用配置详解 - Higurashi

一、参考文档Logback 官方文档 Logback 博客文档二、logback.xml常用配置详解 以下是logback.xml常用节点结构图:1. 根节点<configuration> <configuration>是 Logback 配置文件的根节点,包含以下三个重…

科学做视频网站东莞网站优化推荐

文章目录 1. spring中的bean是线程安全的吗2. 事务的实现--AOP3. 项目中用到的AOP4.spring中事务的失效场景5. Bean的生命周期6.spring中的循环引用问题7. springMVC的执行流程8. springboot自动装配原理9. 常见注解10 Mybatis11 Mybatis一二级缓存 1. spring中的bean是线程安全…

网站上哪个做相片书好广安市邻水建设局网站

对计量经济学初学者而言&#xff0c;OLS原理的矩阵表示通常令人“发怵”。其原因主要在于&#xff0c;至少在财经类课程体系中&#xff0c;关于矩阵微分的先行课程是缺失的。鉴于计量经济学的进阶课程大多采用矩阵语言&#xff0c;笔者认为有必要专文论述如何“搞掂”关于OLS原…