发布了文章2019-09-27
前面解析RecordAccumulator提到了batches是用来存放每个TopicPartition对应的批次队列的,因为会在多线程环境下使用所以声明为ConcurrentMap,但是batches是一个读多写少的场景,所以kafka设计了CopyOnWriteMap这种数据结构通过CopyOnWrite这种模式,加锁写保证数据...
发布了文章2019-09-26
上节解析了生产者发送消息时RecordAccumulator的相关操作,本节解析下RecordAccumulator用到的其他组件BufferPool,CopyOnWriteMap
发布了文章2019-09-25
客户端Producer源码解析 kafka源码解析1:Cluster集群信息kafka源码解析2:Metadata集群元信息kafka源码解析3:RecordAccumulator消息存储kafka源码解析4:RecordAccumulator的相关组件BufferPool,CopyOnWriteMap(上)kafka源码解析4:RecordAccumulator的相关组件...
发布了文章2019-09-25
前面两节分析了部分源码,中间间隔了一个月没有继续分享,原因是在深入阅读中碰到了一些问题,因为我阅读源码是以KafkaProducer发送消息(send方法)作为入口开始逐行分析,涉及到新的类后就把整个类和相关的类全部解析一遍,但是引入的其他类在send方法里只用到了部...
发布了文章2019-09-02
上一节讲到Cluster主要用来存放Node节点信息,TopicPartition分区信息和PartitionInfo分区详细信息,本节要讲的Metadata是将Cluster封装,提供一个统一的查询入口,此外还提供了对集群信息的更新操作。
发布了文章2019-08-30
概述 KafkaProducer运行过程中需要用到集群元信息,这部分信息存在Cluster中 Node,TopicPartition和PartitionInfo Cluster集群元信息由三种类型的对象组合Node, TopicPartition, PartitionInfo Node源码 Node表示集群里的一个节点 TopicPartition源码 TopicPartition...
回答了问题2015-11-10
最好是在表中新增一个字段,标识出该条记录是否删除。
发布了文章2015-11-09
上次说到Maven的优点是将POM与Java是完全解耦的,所以教程1结束后我们快速构建的Hello-World-Test工程中并没有任何Java代码。添加HelloWorld类到包com.company.Hello_World_Test中,by the way使用JDK1.7代码如下:
发布了文章2015-11-08
初学Maven,使用Eclipse+m2eclipse,将Maven作为插件形式,目的是为了降低操作系统安装Maven的复杂以及排错时多种多样的问题。
回答了问题2015-08-27
楼主问题解决了么,我App微信支付开发遇到了同样的问题