首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
kafka
TongHao
创建于2024-01-15
订阅专栏
kafka
暂无订阅
共11篇文章
创建于2024-01-15
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Kafka客户端
依赖slf4j依赖并非必须的,不导入也不会影响到生产者消费者之间的通讯只不过kafka的日志依赖于org.slf4j,不引入的话无法在客户端看到kafka打印的日志信息,并且会收到sl4j的警告信息生
consumer多线程
KafkaConsumer是非线程安全的,在poll()调用中都会执行acquireAndEnsureOpen()来确保当前消费者只有一个线程在操作. 第一种,也是最常见的方式:线程封闭,即为每个线程都实例化一个KafkaConsumer对象.但是这种方式的消费并发度受限于实际…
Kafka集群
这里只在一台阿里云上部署集群,但配置是差不多的。只要保证这些broker连接的zookeeper是同一个即可 之前也有提到,分区的副本数目不得超过broker的数目.有了集群,才可以创建多个副本. 分区总数为分区数 * 副本数.接下来创建分区数为7.副本数为2的主题server…
consumer位移提交
从结果上看,因为发送的消息都消费成功了, 所以position = committedOffset = lastConsumedOffset + 1。如果消费过程中出现了错误,就有可能会造成重复消费或者消息丢失,具体是哪一种取决于位移提交的时机,以及消费的方式 当消费x+5时发…
consumer的位移消费和Rebalance
如果消费者订阅了一个新的主题,它根本没有可以查找的committedOffset。此时Kafka会根据消费者客户端参数进行决定从何处进行消费 再均衡是指分区的所属权从一个消费者转移到另一消费者的行为,在此期间消费者无法读取消息。当某个分区被重新分配给另一个消费者后,其消费的状态…
Kafka的基本概念
topic:特定的主题,一个主题可以有多个分区。一个分区可以分布在多个broker上。 对于每条消息,它都会有一个offset,作为在分区里的唯一标识。简单理解就是数组的下标 HW (High Water Mark) 只有offset满足HW -1的消息,才是消费者可见的。每个…
Kafka配置与测试
配置文件如果仅仅只有本机使用,将ip指定为localhost即可如果是阿里云,这里的listeners和advertised.listeners一定要按上述配置curlifconfig.me查看外网i
producer分区器
其中的topic、header从生产者的配置文件获取,而key则由ProducerRecord(被发送的消息)的构造函数传入。下图是ProducerRecord的构造函数 record指定了分区号,直接发到对应分区。
producer拦截器(一)
运行broker、producer、consumer,观察效果。先看打印日志,可以看到已经使用了指定的拦截器
producer拦截器(二)
类似的我们再写一个拦截器ProducerInterceptorAnalysis2。两个拦截器的作用都是在发送前添加前缀 很明显,调用顺序 A > B, 关闭顺序 B > A,这与Springmvc是一致的。接下来看看kafka是如何实现的.在org.apache.kafka.c…
producer序列化与consumer反序列化
Kafka为一些基本的数据类型提供了默认的序列化器。如无特殊需要,不建议使用自定义的序列化器或反序列化器,因为这样会增加生产者与消费者之间的耦合度,在系统升级换代的时候很容易出错。 对于String类型来说,生产者采用StringSerializer,消费者可以顺其自然地采用 …