网站首页 > 开源技术 正文
1 Kafka压测
Kafka官方自带压力测试脚本(kafka-consumer-perf-test.sh、kafka-producer-perf-test.sh)。Kafka压测时,可以查看到哪个地方出现了瓶颈(CPU,内存,网络IO)。一般都是网络IO达到瓶颈。
2 Kafka的机器数量
Kafka机器数量=2*(峰值生产速度*副本数/100)+1
3 Kafka的日志保存时间
7天
4 Kafka的硬盘大小
每天的数据量*7天
5 Kafka监控
公司自己开发的监控器;
开源的监控器:KafkaManager、KafkaMonitor
6 Kakfa分区数
分区数并不是越多越好,一般分区数不要超过集群机器数量。分区数越多占用内存越大(ISR等),一个节点集中的分区也就越多,当它宕机的时候,对系统的影响也就越大。
分区数一般设置为:3-10个
7 副本数设定
一般我们设置成2个或3个,很多企业设置为2个。
8 多少个Topic
通常情况:多少个日志类型就多少个Topic。也有对日志类型进行合并的。
9 Kafka丢不丢数据
Ack=0,相当于异步发送,消息发送完毕即offset增加,继续生产。
Ack=1,leader收到leader replica 对一个消息的接受ack才增加offset,然后继续生产。
Ack=-1,leader收到所有replica 对一个消息的接受ack才增加offset,然后继续生产。
10 Kafka的ISR副本同步队列
ISR(In-Sync Replicas),副本同步队列。ISR中包括Leader和Follower。如果Leader进程挂掉,会在ISR队列中选择一个服务作为新的Leader。有replica.lag.max.messages(延迟条数)和replica.lag.time.max.ms(延迟时间)两个参数决定一台服务是否可以加入ISR副本队列,在0.10版本移除了replica.lag.max.messages参数,防止服务频繁的进去队列。
任意一个维度超过阈值都会把Follower剔除出ISR,存入OSR(Outof-Sync Replicas)列表,新加入的Follower也会先存放在OSR中。
11 Kafka分区分配策略
在 Kafka内部存在两种默认的分区分配策略:Range和 RoundRobin。
Range是默认策略。Range是对每个Topic而言的(即一个Topic一个Topic分),首先对同一个Topic里面的分区按照序号进行排序,并对消费者按照字母顺序进行排序。然后用Partitions分区的个数除以消费者线程的总数来决定每个消费者线程消费几个分区。如果除不尽,那么前面几个消费者线程将会多消费一个分区。
例如:我们有10个分区,两个消费者(C1,C2),3个消费者线程,10 / 3 = 3而且除不尽。
C1-0 将消费 0, 1, 2, 3 分区
C2-0 将消费 4, 5, 6 分区
C2-1 将消费 7, 8, 9 分区
RoundRobin:前提:同一个Consumer Group里面的所有消费者的num.streams(消费者消费线程数)必须相等;每个消费者订阅的主题必须相同。
猜你喜欢
- 2024-10-19 Seata 中Resource Manager (RM) 本地事务管理
- 2024-10-19 kill-9导致Kakfa重启失败,说多了都是泪
- 2024-10-19 快速掌握Kafka系列《三》配置项总结
- 2024-10-19 Flink 参数配置和常见参数调优(flink配置详解)
- 2024-10-19 基于 Flink 实现的商品实时推荐系统(附源码)
- 2024-10-19 Kafka+Spark Streaming管理offset的两种方法
- 2024-10-19 0500-使用Python2访问Kerberos环境下的Kafka
- 2024-10-19 Kafka大厂高频面试题:在保证高性能、高吞吐的同时保证高可用性
- 2024-10-19 Kafka+Spark Streaming管理offset的几种方法
- 2024-10-19 清华同方大数据岗位面试题(清华同方数据库官网)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)