Kafka万亿级消息实战干货 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

Kafka万亿级消息实战干货

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:27

当前哨上集群范围已经跨越了600+broker,入流量超3万亿记录/天,出流量超7万亿记录/天。在巨大年夜的流量拭魅战中,我们碰到了很多麻烦,这里抽了点时光梳理了一下。重要大年夜应用层面底层道理层面开源版本功能缺点三个方面进行了核心常识点的梳理。今朝本文只是对核心常识点进行概括,并不会具体描述每个常识点的细节,后续我将抽出时光来持续整顿完美细节,欲望可认为大年夜家供给一些赞助。

一、Kafka应用层面

1.版本进级

1.1.若何进行版本滚动进级与回退;

2.数据/副本迁徙

2.1.broker间数据迁徙;
2.2.broker内部磁盘间数据迁徙;

3.流量限制

3.1.临盆者流量限制;
3.2.花费者流量限制;
3.3.follower副本同步leader副本流量限制;

4.运维监控告警;

4.1.硬件基本监控

4.1.1.收集
收集入流量、收集出流量、收集丢包、收集重传、交换机。

4.1.2.磁盘
磁盘write、磁盘read、磁盘ioutil、磁盘iowait、磁盘存储空间、磁盘坏盘、磁盘坏块/坏道。

4.1.3.CPU
CPU余暇率/负载

4.1.4.内存
内存应用率

4.1.5.缓存射中率
Linux的PageCache缓存射中率,具体内容请浏览下面这篇文┞仿:https://blog.csdn.net/yangyijun1990/article/details/105341785

4.2.Kafka办事监控

4.2.1.broker级别:
broker过程、broker出/入流量、broker连接数、broker收集余暇率、broker临盆延时、broker花费延时、broker临盆请求数、broker花费请求数、broker上分布leader个数、broker上分布副本个数、broker请求队列

4.2.2.topic级别:
topic副本缺掉、topic出/入流量、topic花费者花费延迟记录、topic分区leader切换

4.2.3.用户级别
用户出/入流量、用户出/入流量被限制时光;

4.2.4.办事日记
对server端打印的缺点日记进行监控告警;

4.3.客户端应用监控

4.3.1.临盆者客户端

  • 维度:客户端ID、客户端IP、topic名称、集群名称、brokerIP;
  • 指标:连接数、io等待时光、临盆流量大年夜小、临盆记录数、请求次数、请求延时、发送缺点/重试次数等;

4.3.2.花费者客户端

  • 维度:客户端ID、客户端IP、topic名称、集群名称、花费组、brokerIP、topic分区
  • 指标:连接数、io等待时光、花费流量大年夜小、花费记录数、花费延时、topic分区花费延迟记录等

4.4.zookeeper监控

4.4.1.zookeeper的过程监控;
4.4.2.zookeeper的leader切换;
4.4.3.zookeeper办事的缺点日记监控;

5.资本隔离

5.1.营业资本物理隔离(分资本组,不合伙源组之间物理隔离),不合营业互不影响;

6.集群归类

我们根据营业和用处的不合,对集群进行了归类。重要分为以下几类:

  • 日记集群;
  • 监控集群;
  • 计费集群;
  • 贸易化集群;
  • 非贸易化集群;

7.扩容/缩容

7.1.topic扩容分区;
7.2.集群节点扩容broker(新broker上线);
7.3.集群缩容(节点下线);

8.负载均衡

8.1.开辟主动负载均衡法度榜样采集metrics指标,生成副本迁徙筹划,并履行迁徙;
8.2.broker间负载均衡、broker内部多块磁盘间负载均衡;

9.安然认证

9.1.临盆者权限认证;
9.2.花费者权限认证;
9.3.指定迁徙数据目次安然认证;

10.集群容灾

10.1.跨机架容灾;
10.2.跨集群容灾;
10.3.跨机房容灾;

11.参数/设备优化

11.1.办事参数优化;
11.2.临盆参数优化;
11.3.花费参数优化;
11.4.办事器内核参数优化;

12.硬件层面优化

12.1.采取SSD固态硬盘代替HDD(机械盘);
12.2.采取更大年夜内存办事器,比如256GB及以上;
12.3.设备更高的收集带宽,比如 10Gb/s及以上;

13.营业大年夜屏

集群个数、节点个数、存储大年夜小、用户个数、topic个数、分区个数、副本个数、花费组个数、临盆延时、花费延时、临盆流量、花费流量、数据靠得住性/完全性;

14.集群治理

14.1.集群设备治理;
14.2.集群滚动重启;

15.集群治理

15.1.无临盆/花费的topic大年夜集群中清理掉落;
15.2.花费延迟较高的topic分区监控告警,并让响应的花费方检查延迟较大年夜原因及解决办法;

16.mock功能

16.1.临盆mock;
16.2.花费mock;

17.集群IP、域名映射

17.1.上线broker添加域名到broker的映射;
17.2.下线broker剔除域名与broker的映射;

18.机能测试评估

18.1.根据机能测试结不雅评估broker节点个数及分区个数;

19.kafka常见痛点

请浏览文┞仿:https://blog.csdn.net/yangyijun1990/article/details/106698084

二、Kafka底层道理层面

1.临盆者实现细节

1.1.若何获取元数据;
1.2.添加分区后若何感知;
1.3.分区leader切换后若何感知;
1.4.数据若何存储;
1.5.如不雅acks被设置为-1,则若何进行回调断定所有follower都已经收到数据;

2.花费者实现细节

1.1.若何获取元数据;
1.2.添加分区后若何感知;
1.3.分区leader切换后若何感知;
1.4.添加新的花费者实例若何均衡;
1.5.若何检索消息;

3.副本迁徙实现细节

3.1.不带指定命据目次的迁徙(broker间数据迁徙);
3.2.带指定命据目次的迁徙(broker间数据迁徙及broker内部数据目次迁徙);

4.topic的增、删、改、查实现细节

5.Controller的选举细节

6.topic分区Leader选举实现细节

7.Metrics指标实现细节

8.Quota流量限制实现细节

9.时光轮实现细节

10.安然认证实现细节

11.事务实现细节

12.topic分区数据过时处理实现细节

13.动态设备实现细节

13.1.broker、topic、user设备动态治理;

14.topic分区isr列表变更若何处理

14.1.isr列表紧缩;
14.2.isr列表扩大;

15.日记数据存储细节

15.1.日记目次构造;
15.2.日记内容格局;

三、kafka开源版本功能缺点

1.副本迁徙

1.1.当须要终止迁徙义务时,无法终止迁徙义务;【当前我们已经完成源码改革,实现了终止迁徙新特点】

1.2.只能串行迁徙,不克不及同时提交多个迁徙义务;【当前我们已经完成源码改革,实现了并发副本迁徙】

1.3.当topic分区数据量巨大年夜时,数据迁徙变得漫长且对broker对io产生巨大年夜压力,影响到来集群稳定性;【当前我们已经完成源码改革,实现了增量副本迁徙】

相关案例查看更多