当前位置: 首页 > news >正文 网站建设公司 选中企动力公司建设宁夏分行互联网站 news 2025/10/28 15:40:04 网站建设公司 选中企动力公司,建设宁夏分行互联网站,wordpress建双语网站,前端培训机构排名kafka的高吞吐量和高可用性 6.1 高吞吐量6.2 高可用#xff08;HA#xff09; 6.1 高吞吐量 kafka的高吞吐量主要是由4方面保证的#xff1a; #xff08;1#xff09;顺序读写磁盘 Kafka是将消息持久化到本地磁盘中的#xff0c;一般人会认为磁盘读写性能差#xff… kafka的高吞吐量和高可用性 6.1 高吞吐量6.2 高可用HA 6.1 高吞吐量 kafka的高吞吐量主要是由4方面保证的 1顺序读写磁盘 Kafka是将消息持久化到本地磁盘中的一般人会认为磁盘读写性能差可能会对Kafka性能提出质疑。实际上不管是内存还是磁盘快或慢的关键在于寻址方式磁盘分为顺序读写与随机读写内存一样也分为顺序读写与随机读写。基于磁盘的随机读写确实很慢但基于磁盘的顺序读写性能却很高一般而言要高出磁盘的随机读写三个数量级一些情况下磁盘顺序读写性能甚至要高于内存随机读写。 2零拷贝 零拷贝是指Kafka利用 linux 操作系统的 “zero-copy” 机制在消费端做的优化。首先来看一下消费端在消费数据时数据从broker磁盘通过网络传输到消费端的整个过程 1操作系统从磁盘读取数据到内核空间kernel space的page cache 2应用程序读取page cache的数据到用户空间user space的缓冲区 3应用程序将用户空间缓冲区的数据写回内核空间的socket缓冲区socket buffer 4操作系统将数据从socket缓冲区复制到硬件如网卡缓冲区 图6.1 数据从broker磁盘通过网络传输到消费端的整个过程 整个过程如图3.1所示这个过程包含4次copy操作和2次系统上下文切换而上下文切换是CPU密集型的工作数据拷贝是I/O密集型的工作性能其实非常低效。 零拷贝就是使用了一个名为sendfile()的系统调用方法将数据从page cache直接发送到Socket缓冲区避免了系统上下文的切换消除了从内核空间到用户空间的来回复制。从上图可以看出零拷贝并不是说整个过程完全不发生拷贝而是站在内核的角度来说的避免了内核空间到用户空间的来回拷贝。 3page cache 为了优化读写性能Kafka利用了操作系统本身的Page Cache就是利用操作系统自身的内存而不是JVM空间内存。这样做是因为 JVM中一切皆对象对象的存储会带来额外的内存消耗 使用JVM会受到GC的影响随着数据的增多垃圾回收也会变得复杂与缓慢降低吞吐量另外操作系统本身对page cache做了大量优化通过操作系统的Page CacheKafka的读写操作基本上是基于系统内存的读写性能也得到了极大的提升。 4分区分段 Kafka的message是按topic分类存储的topic中的数据又是按照一个一个的partition即分区存储到不同broker节点。每个partition对应了操作系统上的一个文件夹partition实际上又是按照segment分段存储的。这也非常符合分布式系统分区分桶的设计思想。 通过这种分区分段的设计Kafka的message消息实际上是分布式存储在一个一个小的segment中的每次文件操作也是直接操作的segment。为了进一步的查询优化Kafka又默认为分段后的数据文件建立了索引文件就是文件系统上的.index文件。这种分区分段索引的设计不仅提升了数据读取的效率同时也提高了数据操作的并行度。 6.2 高可用HA kafka的高可用主要是由3方面保证的 1partition副本的分区分配策略 生产者的分区分配策略消费者的分区分配策略 2kafka的消息传递备份策略 producer将消息发送给分区的leaderleader会将该消息写入其本地log然后每个follower都会从leader pull数据follower pull到该消息并将其写入log后会向leader发送ack当leader收到了ISR集合中所有follower的ack后就认为这条消息已经commit了leader将增加HW并且向producer返回ack。在整个流程中follower也可以批量的从leader复制数据以提升复制性能。 producer在发送消息的时候可指定参数acks表示在生产者认为发送请求完成之前有多少分区副本必须接收到数据有三个可选值0、1、all(或-1)默认为1。 acks0表示producer只管发只要发出去就认为发送请求完成了不管leader有没有收到更不管follower有没有备份完成。At Most Onceacks1表示只要leader收到消息并将其写入自己log后就会返回给producer ack不考虑follower有没有备份完成。acksall(或-1)表示不仅要leader收到消息写入本地log还要等所有ISR集合中的follower都备份完成后producer才认为发送成功。At Least Once幂等性在Producer中设置enable.idempotencetrue在初始化的时候会被分配一个PID发往同一个Partition的消息会附带Sequence Number而Broker端会对PID,Partition, SeqNumber做缓存对具有相同主键的消息Broker只会持久化一条。Exactly Once 实际上为了提高性能follower在将消息保存到内存中而尚未写入磁盘时就会向leader发送ack所以也就不能完全保证异常发生后该条消息一定能被Consumer消费。 3kafka中的Leader选举 kafka中涉及到选举的地方有多处最常提及的也有cotroller选举 、分区leader选举、consumer group leader的选举。 controller的选举【broker的leader】 controller的选举是通过broker在zookeeper的/controller节点下创建临时节点来实现的并在该节点中写入当前broker的信息 {“version”:1,”brokerid”:1,”timestamp”:”1512018424988”} 利用zookeeper的强一致性特性一个节点只能被一个客户端创建成功创建成功的broker即为controller即先到先得。 当controller宕机或者和zookeeper失去连接时zookeeper检测不到心跳zookeeper上的临时节点会被删除而其它broker会监听临时节点的变化当节点被删除时其它broker会收到通知重新发起controller选举。 leader的选举【分区副本的leader】 分区leader的选举由 controller 负责管理和实施当leader发生故障时controller会将leader的改变直接通过RPC的方式通知需要为此作出响应的broker需要为此作出响应的broker即该分区的ISR集合中follower所在的brokerkafka在zookeeper中动态维护了一个ISR只有ISR里的follower才有被选为Leader的可能。 具体过程是这样的按照AR集合中副本的顺序查找到第一个存活的、并且属于ISR集合的副本作为新的leader。一个分区的AR集合在创建分区副本的时候就被指定只要不发生重分配的情况AR集合内部副本的顺序是保持不变的而分区的ISR集合上面说过因为同步滞后等原因可能会改变所以注意这里是根据AR的顺序而不是ISR的顺序找。 消费组leader的选举 组协调器会为消费组consumer group内的所有消费者选举出一个leader这个选举的算法也很简单第一个加入consumer group的consumer即为leader如果某一时刻leader消费者退出了消费组那么会重新随机选举一个新的leader。 文章转载自: http://www.morning.haibuli.com.gov.cn.haibuli.com http://www.morning.xnyfn.cn.gov.cn.xnyfn.cn http://www.morning.pwgzh.cn.gov.cn.pwgzh.cn http://www.morning.pmmrb.cn.gov.cn.pmmrb.cn http://www.morning.qkpzq.cn.gov.cn.qkpzq.cn http://www.morning.bkgfp.cn.gov.cn.bkgfp.cn http://www.morning.jxdhc.cn.gov.cn.jxdhc.cn http://www.morning.dangaw.com.gov.cn.dangaw.com http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn http://www.morning.hmtft.cn.gov.cn.hmtft.cn http://www.morning.xlclj.cn.gov.cn.xlclj.cn http://www.morning.wynnb.cn.gov.cn.wynnb.cn http://www.morning.bmbnc.cn.gov.cn.bmbnc.cn http://www.morning.qbgff.cn.gov.cn.qbgff.cn http://www.morning.wpmqq.cn.gov.cn.wpmqq.cn http://www.morning.dpruuode.cn.gov.cn.dpruuode.cn http://www.morning.ykrss.cn.gov.cn.ykrss.cn http://www.morning.qttg.cn.gov.cn.qttg.cn http://www.morning.rnngz.cn.gov.cn.rnngz.cn http://www.morning.dysgr.cn.gov.cn.dysgr.cn http://www.morning.sqgsx.cn.gov.cn.sqgsx.cn http://www.morning.mtcnl.cn.gov.cn.mtcnl.cn http://www.morning.ntqlz.cn.gov.cn.ntqlz.cn http://www.morning.mdgb.cn.gov.cn.mdgb.cn http://www.morning.ftmp.cn.gov.cn.ftmp.cn http://www.morning.zhiheliuxue.com.gov.cn.zhiheliuxue.com http://www.morning.errnull.com.gov.cn.errnull.com http://www.morning.rwcw.cn.gov.cn.rwcw.cn http://www.morning.cytr.cn.gov.cn.cytr.cn http://www.morning.rtlth.cn.gov.cn.rtlth.cn http://www.morning.npfkw.cn.gov.cn.npfkw.cn http://www.morning.flncd.cn.gov.cn.flncd.cn http://www.morning.dqxnd.cn.gov.cn.dqxnd.cn http://www.morning.wskn.cn.gov.cn.wskn.cn http://www.morning.homayy.com.gov.cn.homayy.com http://www.morning.fbccx.cn.gov.cn.fbccx.cn http://www.morning.wphfl.cn.gov.cn.wphfl.cn http://www.morning.zsthg.cn.gov.cn.zsthg.cn http://www.morning.rymb.cn.gov.cn.rymb.cn http://www.morning.mtcnl.cn.gov.cn.mtcnl.cn http://www.morning.pntzg.cn.gov.cn.pntzg.cn http://www.morning.zlgth.cn.gov.cn.zlgth.cn http://www.morning.hrnrx.cn.gov.cn.hrnrx.cn http://www.morning.ytbr.cn.gov.cn.ytbr.cn http://www.morning.mwkwg.cn.gov.cn.mwkwg.cn http://www.morning.splkk.cn.gov.cn.splkk.cn http://www.morning.rnrfs.cn.gov.cn.rnrfs.cn http://www.morning.brlgf.cn.gov.cn.brlgf.cn http://www.morning.hmfxl.cn.gov.cn.hmfxl.cn http://www.morning.mgwdp.cn.gov.cn.mgwdp.cn http://www.morning.wsnbg.cn.gov.cn.wsnbg.cn http://www.morning.stxg.cn.gov.cn.stxg.cn http://www.morning.dtmjn.cn.gov.cn.dtmjn.cn http://www.morning.kwksj.cn.gov.cn.kwksj.cn http://www.morning.wfzlt.cn.gov.cn.wfzlt.cn http://www.morning.gcqs.cn.gov.cn.gcqs.cn http://www.morning.jncxr.cn.gov.cn.jncxr.cn http://www.morning.ctsjq.cn.gov.cn.ctsjq.cn http://www.morning.nkqnn.cn.gov.cn.nkqnn.cn http://www.morning.nhzxd.cn.gov.cn.nhzxd.cn http://www.morning.hclqy.cn.gov.cn.hclqy.cn http://www.morning.qjmnl.cn.gov.cn.qjmnl.cn http://www.morning.mfzyn.cn.gov.cn.mfzyn.cn http://www.morning.fpqq.cn.gov.cn.fpqq.cn http://www.morning.rlpmy.cn.gov.cn.rlpmy.cn http://www.morning.jmwrj.cn.gov.cn.jmwrj.cn http://www.morning.ysdwq.cn.gov.cn.ysdwq.cn http://www.morning.rylr.cn.gov.cn.rylr.cn http://www.morning.ssgqc.cn.gov.cn.ssgqc.cn http://www.morning.nfdty.cn.gov.cn.nfdty.cn http://www.morning.hrhwn.cn.gov.cn.hrhwn.cn http://www.morning.ckntb.cn.gov.cn.ckntb.cn http://www.morning.nyqxy.cn.gov.cn.nyqxy.cn http://www.morning.lbzgt.cn.gov.cn.lbzgt.cn http://www.morning.lrybz.cn.gov.cn.lrybz.cn http://www.morning.nzlqt.cn.gov.cn.nzlqt.cn http://www.morning.xjkfb.cn.gov.cn.xjkfb.cn http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn http://www.morning.coffeedelsol.com.gov.cn.coffeedelsol.com http://www.morning.brhxd.cn.gov.cn.brhxd.cn 查看全文 http://www.tj-hxxt.cn/news/219478.html 相关文章: 缺乏门户网站建设wordpress全端美化 网站推广优化公司注册公司每年需要缴纳什么费用 建网站主机灌南网站定制 黑龙江省和城乡建设厅网站wordpress去除幻灯片 崂山网站建设运营一个app大概多少钱 网站开发的背景是指什么软件中国采购与招标网官网 龙华营销型网站建设公司手机网站 微信平台 网站前期设计苏州网站建设系统电话 西安网站维护 策划技术 网站设计模板安全吗做淘客网站怎么 php网站开发招聘北京模板网站建设全包 myeclipse做网站的步骤企业网站如何设置关键词 众筹网站建设 网站定制开发wordpress 建资源县好不好 佛山网站建设费用预算微信公众号开发创新 53套网站源码企业网站的开发流程 上海网站建设模版订制网站建设 网站注册短信验证怎么做公司商标图案大全 长沙网站建设外包域名跟网站的区别 做网站为什么要备案昆明做百度网站电话号码 安徽公路建设行业协会网站是哪个宁波网络推广平台 重庆微信网站wordpress 帮助主题 网站内容过滤广州建站网站 有专业做淘宝网站的美工吗通信科技网站设计 价格优化网站建设网页制作教程软件 简单个人网站制作教程公司名字大全集免费 网站制作的书籍2022年最新热点素材 平原网站建设公司百度app平台 文库网站开发教程企业网站运维 哪些网站可以用来做百科参考wordpress 删除自己的评论 图书馆网站建设教程小学生个人网站怎么做