springboot集成kafka参考:SpringBoot集成kafka全面实战_Felix-CSDN博客_springboot集成kafka
一下为我自己理解的几个名词的理解,如有错误的地方欢迎指出改正;
生产者发送消息时,可以指定分区或key,或者使用自定义分区策略;生产者将消息发送给kafka服务器,服务器根据主题分区及策略将消息分别发物理防止于不同的分区中;
数据备份,
问题:是每个分区的数据都备份相应的分数吗?
--是的
消费者/
消费者ID
可以指定消费者ID,不指定则自动生成;唯一;广播和单播(轮播)的区分点;
如消费者不指定消费组,则属于默认消费组;
广播:指定消费者属于不同的消费组;
单播/轮播:指定消费者为相同的消费组;
测试问题:
1、不同消费者监听不同/相同的分组下相同的分区->分区中有的消息,被监听不同组的消费者消费;(在其他资料上看到,同一个主题下的分区,每个分区只能被一个消费者消费,难道不是强制约束?因为在相同消费组下消费相同分区,就等于重复消费的概念,和不同分组的广播的一样的,但感觉有点畸形。TODO)
服务搭建:
windows版本:
参考自:windows10下Kafka环境搭建_tianmanchn的博客-CSDN博客_kafka windows安装
问题:kafka启动报log问题可以使用kafka_2.12-2.8.1版本,使用其他几个版本都会有这个问题;
windows下kafka常用命令参考:
windows下kafka常用命令行_高亮博客-CSDN博客_kafka windows 命令
删除命令修复:kafka-topics.bat --zookeeper localhost:2181 --delete --topic topic_name
删除命令:如果topic没有使用过则会被彻底删除,如果之前使用过则会被标记为删除状态,并不会彻底删除
问题:
1:如果删除了topic(标记为删除)则再启动是会报错,参考:
Kafka报错ERROR Shutdown broker because all log dirs in ... have failed - 一介桃白白 - 博客园
2:如果使用一下方式在windows版本下创建topic时,分区和副本数量太多会报错
@Configuration public class KafkaInitialConfiguration { // 创建一个名为testtopic的Topic并设置分区数为8,分区副本数为2 @Bean public NewTopic initialTopic() { return new NewTopic("testtopic-1",1, (short) 1 ); } // 如果要修改分区数,只需修改配置值重启项目即可 // 修改分区数并不会导致数据的丢失,但是分区数只能增大不能减小 @Bean public NewTopic updateTopic() { return new NewTopic("testtopic-2",1, (short) 1 ); } }
3、如果在项目中有一下代码,也会直接创建topic;
ListenableFuture> future = kafkaTemplate.send(TOPIC_TEST, obj);
linux版本:TODO
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)