摘要: 参考https://www.cnblogs.com/yuwei0911/p/8601542.html 阅读全文
posted @ 2019-08-04 21:57 l2c 阅读(128) 评论(0) 推荐(0)
摘要: kafka的通讯协议是基于tcp之上的二进制协议,所有类型的请求和响应都是结构化的,由不同的初始类型构成。kafka使用这组协议完成各个功能的实现。 单个kafka client通常需要同时连接多个broker服务器进行数据交互,但每个broker之上只需要维护一个Socket连接用于数据传输。cl 阅读全文
posted @ 2019-07-21 18:27 l2c 阅读(3284) 评论(0) 推荐(0)
摘要: kafaka并不是直接将原省消息写入日志文件的,相反,它会将消息和一些必要的元数据信息大宝在一起封装成一个record写入日志。其实就是我们之前介绍的batch 具体对每个日志而言,kafka又将其进一步细分成日志段文件以及日志段索引文件,每个分区日志都是由若干日志段文件+索引文件构成的。 创建to 阅读全文
posted @ 2019-07-20 22:56 l2c 阅读(1154) 评论(0) 推荐(0)
摘要: 每个kafka副本对象都持有2个重要的属性:日志末端位移LEO,高水印HW Kafka对leader副本和follower副本的LEO更新机制是不同的,后面我们会详细讨论。 Kafka对leader副本和follower副本的hw值更新机制也是不同的。 消费者无法消费分区leader副本上那些位移大 阅读全文
posted @ 2019-07-20 20:24 l2c 阅读(2233) 评论(0) 推荐(0)
摘要: kafka把分区的所有副本均匀地分配到所有broker上,并从这些副本中挑选一个作为leader副本对外提供服务,而其他副本被称为follower副本,只能被动地向leader副本请求数据,从而保持与leader副本的同步: 所谓isr,就是Kafka集群动态维护的一组同步副本集合,每个topic分 阅读全文
posted @ 2019-07-19 15:13 l2c 阅读(1091) 评论(0) 推荐(0)
摘要: 依赖于zookeeper,broker向zk中注册的信息以json格式保存,其中包括: 1.listener_security_protocol_map:此值指定了该broker与外界通信所用的安全协议类型 2.endpoints:指定broker的服务endpoint列表,每个endpoint指明 阅读全文
posted @ 2019-07-19 11:01 l2c 阅读(2474) 评论(0) 推荐(0)
摘要: 消息设计 1.消息格式 Kafka的实现方式本质上是使用java NIO的ByteBuffer来保存消息,同时依赖文件系统提供的页缓存机制,而非依靠java的堆缓存。 2.版本变迁 0.11.0.0版本是kafka的一个里程碑式的大版本。特别是对于消息格式进行了改进和升级。kafka的消息版本变迁: 阅读全文
posted @ 2019-07-18 21:03 l2c 阅读(713) 评论(0) 推荐(0)
摘要: 重平衡(rebalance) 旧版本Kafka依托于Zk进行rebalance,新版本consumer使用了Kafka内置的一个全新的组协调协议。对于每个组而言,Kafka的某个broker会被选举为组协调者(coordinator)。 触发条件: 1.组成员发生变更。 2.组订阅topic数发生变 阅读全文
posted @ 2019-07-18 18:58 l2c 阅读(2103) 评论(0) 推荐(0)
摘要: offset存放在_consumer_offsets这个topic下 并且从0-49划分了50个分区: consumer会在kafka集群的所有broker中选择一个broker作为consumer group的coordinator,用于实现组成员管理,消费分配方案制定以及提交位移等。 consu 阅读全文
posted @ 2019-07-16 20:44 l2c 阅读(383) 评论(0) 推荐(0)
摘要: 一些重要的参数: 1.acks指定了在给producer发送响应前,leader broker必须要确保已成功写入该消息的副本数.当前acks有3个取值,0,1,和all 2.buffer.memory:producer启动时会首先创建一块内存缓冲区用于保存待发送的消息,然后由另一个专属的线程负责从 阅读全文
posted @ 2019-07-16 20:42 l2c 阅读(496) 评论(0) 推荐(0)