2018年9月9日

kafka partiton迁移方法与原理

摘要: 在kafka中增加新的节点后,数据是不会自动迁移到新的节点上的,需要我们手动将数据迁移(或者成为打散)到新的节点上 1 迁移方法 kafka为我们提供了用于数据迁移的脚本。我们可以用这些脚本完成数据的迁移。 1.1 生成partiton分配表 1.1.1 创建json文件topic to 阅读全文

posted @ 2018-09-09 17:17 吼吼吼的吼 阅读(2103) 评论(0) 推荐(0) 编辑

2018年9月4日

park和unpark

摘要: 1 介绍 LockSupport类是Java6(JSR166 JUC)引入的一个类,提供了基本的线程同步原语。LockSupport提供的两个主要方法就是park和unpark。 park译为“停车”,官方文档意为:许可。为了方便理解,在这里我们可以理解为阻塞,等待,挂起,而unpark我们理解 阅读全文

posted @ 2018-09-04 09:30 吼吼吼的吼 阅读(7284) 评论(0) 推荐(2) 编辑

2018年8月12日

Replicated State Machine和WAL

摘要: 在阅读raft论文的时候,考虑两个问题: 1. 为什么要用Replicated State Machine?没有其他方式吗 2. 为什么要先写日志再应用到Replicated State Machine,直接应用到Replicated State Machine刷磁盘不行吗? 1 Replica 阅读全文

posted @ 2018-08-12 17:59 吼吼吼的吼 阅读(1307) 评论(0) 推荐(0) 编辑

2018年7月29日

thrift源码分析

摘要: 1 前言 学习thrift源码主要为了弄清楚几个问题 1. thrift客户端和服务端的通信流程是如何的 2. thrift的IDL中给属性加上编号的作用是什么 3. thrift中require、optional和默认字段到底是怎么处理的 4. thrift的默认值是怎么处理的 这里我 阅读全文

posted @ 2018-07-29 12:22 吼吼吼的吼 阅读(1724) 评论(0) 推荐(0) 编辑

2018年7月28日

thrift使用和源码分析

摘要: 1 前言 thrift的官方文档比较差,很多细节没有介绍清楚,比如require、optional和default字段的区别是什么,为什么字段前面要写序号等,带着这些疑问,我们需要阅读生成的源码来了解具体细节。另外thrift的非官方文档可以参考这篇:http://diwakergupta.g 阅读全文

posted @ 2018-07-28 11:53 吼吼吼的吼 阅读(528) 评论(0) 推荐(0) 编辑

2018年6月24日

kafka源码环境搭建

摘要: 1. 准备工作 1.1 安装好jdk、scala sdk 1.2 安装好gradle 1.3 本地安装好zookeeper并运行; 这里使用zookeeper 3.3.6版本 2. 下载源码 为了更好的追踪源码和版本管理,我们不去kafka官网下载源码,可以直接去github clone ka 阅读全文

posted @ 2018-06-24 12:14 吼吼吼的吼 阅读(5281) 评论(0) 推荐(0) 编辑

2018年6月2日

kafka指定partiton生产

摘要: kafka发送一个消息的时候需要封装成一个ProducerRecord : 我们来分析下partiton方法: 可以通过在配置中指定“partitioner.class”配置项使用自定义的partitioner,自定义的partitioner需要实现Partitioner接口: 如果没有指 阅读全文

posted @ 2018-06-02 19:20 吼吼吼的吼 阅读(216) 评论(0) 推荐(0) 编辑

2018年5月20日

gradle构建scala

摘要: 1. 在目录下创建build.gradle文件,内容为: scala library版本要与本地scala版本一致。 2.切换到build.gradle所在的目录,运行gradle idea 构建出idea所需要的文件。 3.用idea打开build.gradle文件,然后选择Open a 阅读全文

posted @ 2018-05-20 23:28 吼吼吼的吼 阅读(757) 评论(0) 推荐(0) 编辑

2018年5月19日

kafka consumer代码梳理

摘要: kafka consumer是一个单纯的单线程程序,因此相对于producer会更好理解些。阅读consumer代码的关键是理解回调,因为consumer中使用了大量的回调函数。参看 "kafka中的回调函数" 1 整体流程 从KafkaConsumer pollOnce(..)入口来 阅读全文

posted @ 2018-05-19 23:40 吼吼吼的吼 阅读(1928) 评论(0) 推荐(0) 编辑

2018年5月6日

kafka中的回调函数

摘要: kafka客户端中使用了很多的回调方式处理请求。基本思路是将回调函数暂存到ClientRequest中,而ClientRequest会暂存到inFlightRequests中,当返回response的时候,从inFlightRequests中读取对应的ClientRequest,并调用requ 阅读全文

posted @ 2018-05-06 13:37 吼吼吼的吼 阅读(9012) 评论(0) 推荐(0) 编辑

导航