设为首页 加入收藏

TOP

关于Kafka的那些坑(topic命名,一定不要用 点"."或者 下划线"_")
2018-12-06 18:21:02 】 浏览:12
Tags:关于 Kafka 那些 topic 命名 一定不要用点 " ." 或者 划线 _"

https://blog.csdn.net/csdn_wangqi/article/details/79238068

进来使用了Kafka消息队列,喜忧参半。

细数一下,踩过的坑。

1、最好不要用Windows服务器去搞,当然像本人这样被迫使用的,就硬着头皮搞。

Windows服务器搭建Kafka,首先先例少。其次稳定性,个人感觉要比Linux或者Mac上差远了。Windows上,停止Kafka后,在启动需要删掉log。否则会报错,log正在被另一个进程访问。Mac运行则没发现同样错误。

2、Kafka的topic命名,一定不要用 点"."或者 下划线"_"。本人亲测,下划线将会有坑。没有去细读底层代码,但实际运行发现

例如通道名 test_a 和 test。 两个通道就会有问题,本人亲测,向test发送消息,consumer收不到test通道的消息,向test_a发送消息,consumer监听test_a则可以收到。虽然没有深究根源,但建议各位直接使用全英文topic名,省去麻烦。另外对于大小写也存在问题,不要创建字母相同,仅大小写不同的topic。

3、关于删除Kafka的topic,尤其是在Windows下,很可能灰常麻烦。仅执行delete topic 是不好使的。还需要去zookeeper中删掉。

删除命令:./bin/kafka-topics --delete --zookeeper 【zookeeper server】 --topic 【topic name】

执行zookeeper/bin/zkCli.cmd

输入命令:ls /brokers/topics

会看到topic 列表

然后输入:rmr /brokers/topics/【topic name】(替换需要删掉的topic)

4、可以考虑搭配数据库使用,数据库记录消息。这样即便消息队列挂掉,也有据可查。Kafka消息可以添加key,添加唯一key。便于查询记录。当然,这个根据需要,此条仅做讨论用。



编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇kafka学习笔记八kafka的权限管理.. 下一篇Kafka遇到的坑-- Error while fet..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }