
kafka
文章平均质量分 82
云川之下
这个作者很懒,什么都没留下…
展开
-
【Kafka】如何保证百万级写入速度(顺序写、页缓存)
添加链接描述原创 2021-08-13 10:35:38 · 1640 阅读 · 2 评论 -
【Kafka】kafka消费者的三种模式(最多/最少/恰好消费一次)&生产者幂等性
文章目录概述回顾ack配置幂等性参考概述at most once(消费者最多收到一次消息,0--1次):acks = 0 可以实现。acks=0 保证producer往leader只发送一次,不管是否发送成功,因此可能丢数据,但不会重复发送at least once(消费者至少收到一次消息,1--多次):ack = all 或-1可以实现。exactly once(消费者刚好收到一次消息):at least once 加上消费者幂等性可以实现,还可以用kafka生产者的幂等性来实现。原创 2021-08-10 18:16:53 · 9112 阅读 · 0 评论 -
【Kafka】如何保证消息有序性
文章目录1. 消息有序性2. 发送端消息有序性2.1 Kafka如何保证单partition有序?2.2 client消息发送原理接收端消息有序性参考1. 消息有序性我们需要从2个方面看待消息有序性第一,发送端能否保证发送到服务器的消息是有序的第二,接收端能否有序的消费服务器中的数据发送端一般通过同步发送实现,即一次仅发送一条,等返回成功后,再发送下一条,接收端一般仅通过一个消费者参与消费实现2. 发送端消息有序性2.1 Kafka如何保证单partition有序?Kafka分布式的单位原创 2021-08-10 14:59:24 · 3385 阅读 · 1 评论 -
【Kafka】深入图解Kafka producer 发送过程
文章目录producer 发送过程参考producer 发送过程在新版本的kafka中(从0.9开始),其实只有异步方式一种,是批量发送的方式在producer端,存在2个线程:一个是producer主线程,用户端调用send消息时,是在主线程执行的,数据被缓存到RecordAccumulator中,send方法即刻返回,也就是说此时并不能确定消息是否真正的发送到broker。另外一个是sender IO线程,其不断轮询RecordAccumulator,满足一定条件后,就进行真正的网络IO发送原创 2021-08-10 11:35:29 · 4628 阅读 · 1 评论 -
【Kafka】如何保证消息可靠性(ack机制)
文章目录1. 消息可靠性2. 发送端如何保证高可用性2.1 ack参数解释2.2 ack详细流程参考1. 消息可靠性什么是消息可靠性?就是如何确保消息一定能发送到服务器进行存储,并且发生宕机等异常场景,能够从备份数据中恢复。消息的可靠性需要从2个方面看待消息可靠性第一,发送端能否保证发送的消息是可靠的第二,接收端能否可靠的消费消息消息发送端:通过ack机制,定义不同的策略。消息消费端:如果消费这边配置的是自动提交,万一消费到数据还没处理完,就自动提交offset了,但是此时你consu原创 2021-08-09 21:04:33 · 4086 阅读 · 1 评论 -
【Kafka】消息的同步发送和异步发送
文章目录概述1. sync vs async2. 可靠性机制2.1 oneway3. 一般配置参考概述kafka有同步(sync)、异步(async)以及oneway这三种发送方式,某些概念上区分也可以分为同步和异步两种,同步和异步的发送方式通过“producer.type”参数指定,而oneway由“request.require.acks”参数指定。1. sync vs async在官方文档Producer Configs中有如下:翻译过来就是:producer.type的默认值是syn转载 2021-08-09 20:50:25 · 15597 阅读 · 0 评论 -
【Kafka】unclean.leader.election.enable
参数作用就是当ISR列表内的节点都挂掉后,没有办法选举了,通过unclean.leader.election.enable=true 允许,ISR列表外的节点参与选举。详细解释如何提高Kafka可靠性是一个可以长篇大论的主题。很多初学者会简单的认为将客户端参数acks设置为-1即可保证Kafka的可靠性,显然这是很片面的观点。就可靠性本身而言,它并不是一个可以用“是”或者“否”来衡量的一个指标,而一般是用几个9来衡量。就参数方面而言,与Kafka可靠性相关的参数不止acks这一个,比如retries、转载 2021-08-09 19:45:31 · 780 阅读 · 0 评论 -
【Kafka】Kafka消费者组三种分区分配策略roundrobin,range,StickyAssignor
文章目录1. 官网文档介绍参考相关文章《Rebalance机制、分区分配策略》《Kafka消费者组三种分区分配策略roundrobin,range,StickyAssignor》1. 官网文档介绍partition.assignment.strategyA list of class names or class types, ordered by preference, of supported partition assignment strategies that the client w转载 2021-08-09 15:36:21 · 2093 阅读 · 0 评论 -
【Kafka】Kafka与zookeeper
原创 2021-07-05 00:21:18 · 120 阅读 · 0 评论 -
【Kafka】producer发布消息机制剖析
文章目录1、写入方式2、消息路由3、写入流程1、写入方式producer 采用 push 模式将消息发布到 broker,每条消息都被 append 到 patition 中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障 kafka 吞吐率)。2、消息路由producer 发送消息到 broker 时,会根据分区算法选择将其存储到哪一个 partition。其路由机制为:指定了 patition,则直接使用;未指定 patition 但指定 key,通过对 key 的 value 进行原创 2021-07-05 00:14:46 · 350 阅读 · 0 评论 -
【Kafka】Offset存储机制、__consumer_offsets
文章目录1. 为什么需要存储Offset2. __consumer_offsets2.1 OffsetCommitRequest2.1.1 Key 和 Value2.2 OffsetCommitResponse2.3 查看__consumer_offsets中的消息3. offset要提交到__consumer_offsets的哪个分区参考1. 为什么需要存储Offset由于消费者在消费消息的时候可能会由于各种原因而断开消费,当重新启动消费者时我们需要让它接着上次消费的位置offset继续消费,因此消转载 2021-07-04 20:17:50 · 5829 阅读 · 1 评论 -
【Kafka】kafka集群实战
文章目录1. 集群部署1.1 验证集群的容错性2. 集群消费1. 集群部署对于kafka来说,一个单独的broker意味着kafka集群中只有一个节点。要想增加kafka集群中的节点数量,只需要多启动几个broker实例即可。为了有更好的理解,现在我们在一台机器上同时启动三个broker实例。首先,我们需要建立好其他2个broker的配置文件:cp config/server.properties config/server-1.propertiescp config/server.propert原创 2021-07-04 13:36:48 · 381 阅读 · 1 评论 -
Kafka zookeeper-shell.sh
bin/zookeeper-shell.sh作用是连接zookeeper,并通过命令查询注册的信息,本质上就是zookeeper的语法。bin/zookeeper-shell.sh zookeeper_host:port[/path] [args…]args参数类型如下stat path [watch]set path data [version]ls path [watch]delq...原创 2019-11-23 19:31:12 · 3942 阅读 · 0 评论 -
kafka Java例子
版本 2.11-1.0.01.启动远程服务在linux中启动kafka 参见kafka Quickstart默认情况下,kafka不允许跨ip访问,因此本地通过Eclipse跑Java代码访问远程服务时,需要开发端口修改config/server.properties,加入一条advertised.listeners=PLAINTEXT://10.43.39.215:9092如果没有...原创 2019-11-22 19:02:12 · 536 阅读 · 0 评论 -
kafka 检查 consumer 位置
有时观察到消费者的位置是有用的。我们有一个工具,可以显示 consumer 群体中所有 consumer 的位置,以及他们所在日志的结尾。要在名为my-group的 consumer 组上运行此工具,消费一个名为my-topic的 topic 将如下所示:#注意:这将仅显示使用Java consumer API(基于非ZooKeeper的 consumer)的 consumer 的信息。>...原创 2019-11-22 11:08:40 · 603 阅读 · 0 评论 -
kafka sh脚本参数
1.kafka-console-consumer.sh --blacklist <string blacklist > Blacklist of topics to exclude from onsumption. --bootstrap-server ...原创 2019-11-22 10:53:42 · 283 阅读 · 0 评论 -
Kafka版本演进总结
一、Kafka版本命名:当前 Apache Kafka 已经迭代到 2.3 版本。但是我对 Kafka 的版本命名理解存在歧义。今天特此学习一下。比如我们在官网上下载 Kafka 时,会看到这样的版本:难道 Kafka 版本号不是 2.11 或 2.12 吗?其实不然,前面的版本号...转载 2019-11-20 15:52:35 · 442 阅读 · 0 评论 -
【Kafka】kafka Quickstart安装
官网文档本教程假定您是一只小白,没有Kafka 或ZooKeeper 方面的经验。 Kafka控制脚本在Unix和Windows平台有所不同,在Windows平台,请使用 bin\windows\ 而不是bin/, 并将脚本扩展名改为.bat.Step 1: 下载代码下载 1.0.0版本并解压缩。. 1.下载解压kafka_2.10-0.10.0.0.tgz ...翻译 2019-11-20 09:28:04 · 156 阅读 · 0 评论