kafka 问题集合——The configured groupId is invalid

1、问题描述:

The configured groupId is invalid

字面意思,kafka消费者配置的 groupId 非法,这玩意还有不合法?无非是没指定 groupId 吧? —— 当然不是,如果是因为没有写 groupId 而引起这个问题,那根本不值得去写一编日志了。

groupId 当然是指定的,但为什么还是报了这个错误呢。。。其实原因是没有找到的,但有一个可用版本,一个不可用版本,于是猜测其中可能的原因?

 

2、问题背景

springboot: 1.5.7.RELEASE (有够老的对不对,老项目,没办法。。。这也是这个项目让人头疼的原因)

springcloud: Dalston.SR3

spring-kafka: springboot 指定版本, 好像是 1.1.6.RELEASE

 

3、逐渐找原因

这个是项目上出现的问题,在整合springboot + kafka 之前,我做过另外一个demo, 好用得很。但放到项目上的时候,就出现了水土不服的各种情况就出现了,真的超级多问题,以至于我觉得kafka就是一个坑,为什么还会有人用kafka,其它MQ产品,它不香吗,也不用依赖ZK,用kafka,图什么。。害。(会有这样的疑惑,并且没办法解决,也是因为我对kafka和其它的MQ产品没有一个比较好的横向比较)

说回正题

为什么一个好一个不行呢,差别在哪里,差别就在于一个是 springboot 2.3.5.RELEASE, 一个是 springboot 1.x 。 这可能就是区别!

真是一个让人极度无语的“事故”, 多少问题源于版本不匹配,各种搞来搞去,真的是烦死人。

好了,那既然知道是版本引起的差异,就在 demo 上把版本降下来吧,好嘛,问题果然出现了——版本不兼容,写法可能也不同。

 

4、写法不同,那就改写法

网上查了一下, springboot 1.x 整合kafka 的写法,嗯,果然不一样

springboot 1.x 是需要写 kafkaProducerConfig 和 kafkaConsumerConfig 的。它能够读取到配置,但不知道为啥还报这个错(可能得跟一下代码才行,虽然现在并没有这样的心情)。

OK, 那就按他的写法来写了。发现,竟然可以了,淦。

 

5、剩余的问题

问题还没有被完全解决,一个是配置都写在代码上了,所以,肯定还得写一个配置项,去读取配置才行。

KafkaConfig 读取配置,这样应该就差不多了

然后,纯配置文件的写法,为什么没读取到。这个问题,还得找找,跟一下源码才行

 

这个问题先这样子。

 

上一篇:6种消息队列介绍和对比


下一篇:Open3D 最小二乘拟合二次曲面