![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kafka
kafka学习记录的笔记,后续可以放一些Kafka在业务使用过程中的一些东西
wangebie
这个作者很懒,什么都没留下…
展开
-
Kafka生产者的幂等性和事务性
Kafka生产者的幂等性和事务性Kafka消息交付可靠性定义消息交付可靠性保证,即指Kafka对Producer和Consumer要处理的信息的保证。最多一次:消息可能会丢失,但绝对不会重复 至少一次:消息不会丢失,但可能重复 精确一次:消息不会丢失,也不会重复发送Kafka默认对消息的保证是 至少一次 当然我们都希望精确一次。Kafka同样也提供了对精确一次的实现。主要有两种分别是幂等生产者和事务型生产者幂等生产者若开启首先需要配置enable.idempotence = .原创 2020-12-17 22:55:31 · 282 阅读 · 0 评论 -
Kafka Producer对连接的管理
Kafka Producer对连接的管理使用TCP连接Kafka Producer连接Broker采用TCP连接。 是基于以下几点考虑可以使用TCP本身提供的某些高级特性,比如多路复用请求,同时轮询多个连接的能力 一般语言类库对TCP封装都较好,对HTTP封装比较简陋如何使用Producer构造生产者对象所需的参数对象 创建KafkaProducer对象实例 调用send()方法 调用KafkaProducer的close方法释放资源生产者建立与节点的连接的时机是在创建Ka.原创 2020-12-17 22:30:24 · 996 阅读 · 0 评论 -
Kafka消息丢失
Kafka消息丢失Kafka服务端Kafka只对已提交消息做有限度持久化保证已提交消息,收到消息并成功写入Broker,该消息为已提交消息。若ack设置为-1则成功写入broker的意思是leader节点+副本节点都需要写入成功,kafka默认只用leader节点写入成功即可 有限度持久化,即当kafka集群出现故障时,起码有一台broker是活着的。Kafka生产者消息丢失使用了producer.send(msg),这个方法是异步的,不保证消息发送成功,因此应该使用producer.s原创 2020-12-15 17:57:55 · 375 阅读 · 0 评论 -
Kafka压缩算法学习
Kafka压缩算法何时压缩在producer端发送消息时压缩 broker端在特殊情况也会压缩(应该尽量避免broker端的压缩) broker端和producer端配置的压缩算法不一样 消息的格式不一样 开启压缩需要在producer端配置compression.type参数何时解压缩在consumer端解压缩,Kafka会将使用的压缩算法封装进消息集合当中 broker端也会进行解压缩,用来校验消息的可靠性Producer端压缩,Broker端保持,Consume.原创 2020-12-15 17:56:56 · 419 阅读 · 0 评论 -
Kafka分区原理机制
分区结构kafka的消息总共是三层结构Topic(第一层结构,表示一个主题)-> Partition(分区,每个消息可以有多个分区) -> 消息实例(具体的消息文本等等,一个消息实例只可能在一个分区里面,不会出现在多个分区中)分区优点分区其实是一个负载均衡的思想。如此设计能使每一个分区独自处理单独的读写请求,提高吞吐量。分区策略轮询策略Round-robin(未指定key新版本默认策略)随机策略Randomness(老版本默认策略)消息键排序策略Key-ordering(指定原创 2020-12-14 12:34:00 · 291 阅读 · 0 评论 -
Kafka选型
版本kafka经历了 0.7,0.8,0.9,0.10,0.11,1.0,2.0等大版本,1.0以上的版本一般上是升级优化了kafka的流处理。若将kafka当做消息队列差别不大。目前我司使用的是kafka2.0版本一般上我们使用的kafka都是Apache Kafka即社区版的操作系统操作系统无脑选Linux磁盘磁盘分为机械硬盘和固态硬盘,当然固态硬盘性能比机械好很多,但是kafka是追加写,所以一般使用机械硬盘其实也够用。但是具体问题具体分析磁盘容量需要根据公司业务进行实原创 2020-12-14 12:27:04 · 503 阅读 · 0 评论