前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kafka使用时的一些总结

kafka使用时的一些总结

作者头像
天涯泪小武
发布2019-01-17 11:52:01
5130
发布2019-01-17 11:52:01
举报
文章被收录于专栏:SpringCloud专栏SpringCloud专栏

1.在kafka最新版kafka_2.12-1.0.0的config文件夹server.properties中可以看到num.partitions=1,这个代表每个topic默认的分区数量。当你创建topic时,如果不指定该topic的partition数量,那么默认就是1个分区。这意味着你的这个topic,最多只能被一个group的一个consumer消费,该group的其他consumer将无法获取到消息,也就是无法通过启动多个consumer进程来并行消费。可以通过在配置kafka时修改该值来设置topic默认的partition数量,视情况来定。

2.kafka的topic如果只有一个group来消费,那就相当于是一个消息队列,一个生产者,一个消费者。要实现如“发布-订阅”这样的功能,可以让多个group来消费同一个topic。

3.对于一个topic,如果被一个group消费,该group中能获得消息的consumer的数量不会超过该topic的partition。就是说某topic有10个partition,你有一个group在消费该topic,那么你最多启动10个consumer实例,再多的consumer将无法获取到任何消息。所以在试图启动多个客户端consumer来批量并行消费某topic时,请先确认该topic下的partition数量要大于等于你的consumer数量。

4.producer在生产消息时可以手工指定写入到哪个partition,如果不指定,producer会根据key来进行路由,如果连key也不指定,系统会根据partition数量进行random nextInt。目的是尽量让消息均匀分散到不同partition。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年01月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档