![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kafka
文章平均质量分 87
青年IT男
个人从事金融行业,就职过易极付、思建科技、某网约车平台等重庆一流技术团队,目前就职于某银行负责统一支付系统建设。自身对金融行业有强烈的爱好。同时也实践大数据、数据存储、自动化集成和部署、分布式微服务、响应式编程、人工智能等领域。同时也热衷于技术分享并创立公众号和博客站点对知识体系进行分享。
个人博客地址:http://youngitman.tech 微信公众号:青年IT男
展开
-
Kafka命令行常用命令说明(一)
/kafka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --topic test (查看test的分区情况) 其实kafka-list-topic.sh里面就一句 exec $(dirname $0)/kafka-run-class.sh kafka.admin.ListTopicCommand $@实际是通过kafka-run-class.sh脚本执行的包kafka.admin下面的类原创 2016-06-02 11:48:30 · 149 阅读 · 0 评论 -
Kafka Producer机制优化-提高发送消息可靠性
。背景Producer构造Message对象时,传入key参数,当Producer发送Message,会根据key确定目标Partition,当Kafka集群中某个Partition所有存活的节点都失效或挂掉。会造成Producer尝试重新发送message.send.max.retries(默认值为3)次后抛出Exception,每次尝试都会休眠一定时间(默认值为100ms)。用户捕捉到异常其结果,停止发送会阻塞,继续发送消息会丢失。解决思路Kafka中默认发送消息方式不变,给用户提供原创 2017-02-06 10:22:19 · 127 阅读 · 0 评论 -
Kafka Broker HA机制
原创 2017-02-06 10:22:08 · 107 阅读 · 0 评论 -
Kafka数据可靠性与一致性解析
n的RecoveryPoint,找到包含RecoveryPoint的segment及以后的segment, 这些segment就是可能没有 完全flush到磁盘segments。然后调用segment的recover,重新读取各个segment的msg,并重建索引优点1.以segment为单位管理Partition数据,方便数据生命周期的管理,删除过期数据简单2.在程序崩溃重启时,加快recovery速度,只需恢复未完全flush到磁盘的segment3.通过index中offset与物理原创 2017-02-06 10:21:56 · 121 阅读 · 0 评论 -
Kafka Consumer机制优化-保证每条消息至少消费一次
递恰好一次,但很少使用,后者性能高,通常用于实际应用,但极端条件下无法保证消息不丢失。目标在有效期内,保证每条消息至少可被消费一次问题分析请看如上图1,Consumer Thread读取一条消息,更新缓存消费状态,传入消息执行业务逻辑,同时有另外一个调度线程异步周期执行,从缓存中读取消费状态信息,持久化消费状态。假设Consumer Thread更新了缓存消费状态,Scheduler Thread在“执行业务逻辑”完成前就持久化消费状态,正在此时,Consumer失效或宕机了,这条消息就原创 2017-02-06 10:17:47 · 741 阅读 · 0 评论 -
Consumer rebalance失败问题定位和解决思路
原创 2017-02-05 18:10:10 · 269 阅读 · 0 评论 -
消息队列中点对点与发布订阅区别
a消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 点对点与发布订阅最初是由JMS定义的。这两种模式主要区别或解决的问题就是发送到队列的消息能否重复消费(多订阅)1.JMS中定义JMS规范目前支持两种消息模型:点对点(point to point, queue)和发布/订阅(publish/subscribe,topic)。 点对点: 消息生产者生产消息发原创 2017-02-05 18:09:58 · 140 阅读 · 0 评论 -
Apache Kafka消息传递可靠性分析
角度分析一下Kafka中会出现哪些情况:1.producer发送消息到Broker目前生产者发送消息(request.required.acks)有三种方式。 acks = 0: producer不会等待broker发送ack ,因为发送消息网络超时或broker crash(1.Partition的Leader还没有commit消息 2.Leader与Follower数据不同步),既有可能丢失也可能会重发。acks = 1: 当leader接收到消息之后发送ack,丢会重发,丢原创 2017-02-05 18:09:47 · 95 阅读 · 0 评论 -
Kafka文件存储机制那些事
原创 2017-02-05 18:05:33 · 68 阅读 · 0 评论 -
Kafka Offset Storage
入消费的 offset 到Topic中,只是那时候默认是将消费的 offset 存放在 Zookeeper 集群中。那现在,官方默认将消费的offset存储在 Kafka 的Topic中,同时,也保留了存储在 Zookeeper 的接口,通过 offsets.storage 属性来进行设置。2.内容 其实,官方这样推荐,也是有其道理的。之前版本,Kafka其实存在一个比较大的隐患,就是利用 Zookeeper 来存储记录每个消费者/组的消费进度。虽然,在使用过程当中,JVM帮助我们完成了自一些优化原创 2017-02-09 10:44:20 · 108 阅读 · 0 评论 -
mafka平台架构
原创 2017-02-06 10:22:31 · 455 阅读 · 0 评论 -
Apache Kafka中Follower如何与Leader同步数据
原创 2017-02-07 13:40:15 · 431 阅读 · 0 评论 -
Kafka命令行常用命令说明(二)
nsTool 说明:当我们对kafka集群扩容时,需要满足2点要求: 将指定topic迁移到集群内新增的node上。将topic的指定partition迁移到新增的node上。1. 迁移topic到新增的node上 假如现在一个kafka集群运行三个broker,broker.id依次为101,102,103,后来由于业务数据突然暴增,需要新增三个broker,broker.id依次为104,105,106.目的是要把push-token-topic迁移到新增node原创 2016-06-13 15:44:21 · 119 阅读 · 0 评论 -
Kafka 设计与原理详解
原创 2016-08-03 15:50:08 · 109 阅读 · 0 评论 -
kafka参数配置详解
原创 2016-09-24 16:07:22 · 276 阅读 · 0 评论 -
Kafka集群partitions/replicas默认分配解析
(1) (2)当集群中新增2节点,Partition增加到6个时分布情况如下:副本分配逻辑规则如下:在Kafka集群中,每个Broker都有均等分配Partition的Leader机会。上述图Broker Partition中,箭头指向为副本,以Partition-0为例:broker1中parition-0为Leader,Broker2中Partition-0为副本。上述图种每个Broker(按照BrokerId有序)依次分配主Partition,下一个Broker为副原创 2017-01-23 09:36:28 · 214 阅读 · 0 评论 -
apache kafka系列之kafka.common.ConsumerRebalanceFailedException异常解决办法
rConnector$ZKRebalancerListener.syncedRebalance(Unknown Source)at kafka.consumer.ZookeeperConsumerConnector.kafka$consumer$ZookeeperConsumerConnector$$reinitializeConsumer(Unknown Source)at kafka.consumer.ZookeeperConsumerConnector.consume(Unknown Source)a原创 2017-01-23 09:54:06 · 125 阅读 · 0 评论 -
apache kafka系列之Producer处理逻辑
原创 2017-01-23 10:12:13 · 108 阅读 · 0 评论 -
apache kafka系列之客户端开发-java
ion>0.8.1</version> </dependency>2.producer程序开发例子2.1 producer参数说明#指定kafka节点列表,用于获取metadata,不必全部指定metadata.broker.list=192.168.2.105:9092,192.168.2.106:9092# 指定分区处理类。默认kafka.producer.DefaultPartitioner原创 2017-01-23 10:51:37 · 94 阅读 · 0 评论 -
apache kafka系列之迁移与扩容工具用法
原创 2017-01-23 11:04:55 · 90 阅读 · 0 评论 -
如何在Kafka中修改Topic的preferred replica
原创 2017-02-07 13:40:25 · 278 阅读 · 0 评论 -
博客文章迁移至新网站
为了更好的整理和归纳博客文章,现自主建立博客站点 ,站点名称:青年IT男的博客 地址:http://youngitman.tech原创 2019-08-15 14:01:09 · 215 阅读 · 0 评论