文章目录
- 背景
- 思考
- 答案
- 排它
- 故障转移
- 共享
背景
之前在review同组其它业务的时候,发现竟然把kafka去掉了,问了下原因,有一个单独的服务,我们可以把它称为agent,就是这个服务是动态扩缩容的,会采集一些指标,根据指标在k8s环境动态的scale,然后因为扩缩容会导致kafka 频繁的rebalance,导致线上环境消费数据不平滑,然后就把这个去掉了
思考
这个问题还真让我陷入了思考,其它家公司是如何解决这个问题的,找了下竟然没找到答案, 俗话话,念念不忘,必有回响,让我想起了pulsar这个,竟然解决了这个问题
答案
pulsar有三种消费数据的模式
排它
topic 只能由一个consumer消费
故障转移
很好理解,po有多个consumer,a是主,b,c,d是standy 的,a挂掉,b,c,d会有一个成为主
共享
每个分区可以由多个consumer消费