kafka场景测试(1)--消费者长时间消费

一、测试环境

版本:kafka_2.11-0.10.1.0

客户端版本:0.10.1.0

集群节点: 3

Topic名称:test-order-topic

Topic详情:

Topic: test-order-topic PartitionCount:3 ReplicationFactor:2 Configs:

Topic: test-order-topic Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1

Topic: test-order-topic Partition: 1 Leader: 1 Replicas: 1,2 Isr: 1,2

Topic: test-order-topic Partition: 2 Leader: 2 Replicas: 2,0 Isr: 2,0

二、Auto Commit 自动提交

消费者关键参数:

enable.auto.commit:true

Auto.commit.interval.ms:1000

Max.poll.interval.ms = 60 * 1000 (default = 300000)

 

Consumer.poll(100)

 

测试情况:

并发

处理阻塞线程

消息发送频率

阻塞时间

消息总数

重复消费

消息丢失

2

1

10ms

3min

20000

267

不丢失

2

1

10ms

3min

20000

14

不丢失

2

1

10ms

3min

20000

64

不丢失

 

结果:当阻塞时间超过参数Max.poll.interval.ms设置的时间,当前consumer会被移除consumer group;consumer group会rebalance。当阻塞时间到期后,当前consumer会重连broker进行消费。

 

三、Sync Commit 同步提交

消费者关键参数:

enable.auto.commit:false

Auto.commit.interval.ms:1000

Max.poll.interval.ms = 60 * 1000 (default = 300000)

 

Consumer.poll(100)

 

测试情况:

并发

处理阻塞线程

阻塞线程是否继续执行

消息发送频率

阻塞时间

消息总数

重复消费

消息丢失

2

1

10ms

3min

20000

1

不丢失

2

1

10ms

3min

20000

1

不丢失

2

1

10ms

3min

20000

1

不丢失

 

结果:在sync commit模式下,当阻塞时间超过参数Max.poll.interval.ms设置的时间,阻塞的线程恢复之后会抛出CommitFailedException异常,不会继续消费需要捕获并处理异常,即可继续消费。

 

四、Async Commit 异步提交

消费者关键参数:

enable.auto.commit:false

Auto.commit.interval.ms:1000

Max.poll.interval.ms = 60 * 1000 (default = 300000)

 

Consumer.poll(100)

测试情况:

并发

处理阻塞线程

阻塞线程是否继续执行

消息发送频率

阻塞时间

消息总数

重复消费

消息丢失

2

1

10ms

3min

20000

1

不丢失

2

1

10ms

3min

20000

1

不丢失

2

1

10ms

3min

20000

1

不丢失

结果:在sync commit模式下,当阻塞时间超过参数Max.poll.interval.ms设置的时间,阻塞的线程恢复之后会抛出CommitFailedException异常,会重连继续消费。

转载于:https://my.oschina.net/jayhu/blog/814172

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值