kafka 研究引述

来源:互联网 发布:关联矩阵是什么 编辑:程序博客网 时间:2024/05/16 20:30

        研究项目,要有重点,拿kafka来说吧,kafka是一个分布式的消息队列系统。既然是分布式,需要了解kafka是如何做到分布式的,分布式的几个重要特征一定要清楚。

对于kafka的源码研究,可以先在网上查找相关资料,到apache官网上下载源码包(kafka首页地址:http://kafka.apache.org)。下面分别进行介绍研究kafka需要的技能与怎么能够更好的去了解kafka。

一、kafka研究需要掌握的技能:

1、java基础(线程,并发),网络知识(Tcp/ip,Socket通信)。

2、初始了解scala函数式语言。

备注:可以看到源码是scala语言编写,scala是函数式语言,与java可以兼容,大家看到scala语言,不要被他的代码吓倒,多写多练,自然就会,另外此处,只是让你能够看懂即可,如果能够抽出时间,甚至可以去将kafka的某一个版本译成java版本。


二、了解kafka的设计思想,带着问题去思考,去寻找答案:

1、对于kafka的设计思想,可以直接浏览主页(http://kafka.apache.org),其中对于速度,复本,负载以及日志处理做了大量的描述,虽然是英文的,但是咱们可以慢慢来读,读一次不懂,那就多读几次。

2、为什么consumer要分组,分组之后有什么好处?

3、对于zookeeper的使用。主要是了解为什么要使用zookeeper,使用这的好处。具体在kafka 中有那几个地方需要注册zookeeper(broker,partition,consumer).

4、对于consumer,broker,partition如何做负载?对于partition如何做迁移?为什么producer不需要注册Zookeeper?

5、topic与partition如何去划分。对于实际工作怎么样去妥善划分?

 

        大家带着这样的一些内容进行kafka的研究,一定能够学习好kafka,甚至是分布式系统的原理与实现。




0 0
原创粉丝点击