学习计划 - kafka

原创 2016年08月31日 08:07:50

学习目标

kafka为啥会产生?

应对实时处理需求,需要一个系统可以缓存数据,可以供多个其他程序进行读取和处理。

kafka产生了。 产生数据到kafka,应用程序可以对kafka里面的数据进行读取然后处理,而kafka仅仅是缓存数据,并对数据设置一个过期时间,这样可以做到持续运转无需人工干预,而且kafka有防单点功能,总结一句,kafka是一个提供数据存放和读取而又带有自动处理“污水”功能的蓄水池。

术语有哪些?

产生消息到kafka的叫做 producer

订阅topics以及消费kafka数据的叫做 consumer

kafka集群由一台或者多台服务器组成,每台服务器被叫做一个broker

每个topics里面的数据按照partition进行划分,consumer可以通过设置offset进行读取数据,只要数据还没有过期,因为kafka有log有效时间设置,过了之后,kafka会消灭过期的数据,free up disk。

每个topic由若干个partition组成,每个partition以及副本会分布在多个机器里面(副本数N,最多可以允许有N-1个broker挂掉),一般是3,3个partition有一台机器会作为Leader,其余两个作为Follower,跟其他分布式系统相似但也有不同,Leader partition会完成所有读写操作,而不仅仅是写操作,而Follower partition只能进行与Leader Partition进行同步,连读功能都不行!

典型应用

  • 日志聚合。 很多服务器产生的日志打向kafka,进行集中存放。
  • 流处理。一开始是粗糙的数据进入kafka,消费者对数据进行消费处理后把数据仍旧打进kafka,但是是另外一个topic。

深入和扩展

consumer。 一般消息系统的消费者有两种模型,一种是 queueing模型,另外一种是订阅和消费模型。 队列模型的时候,一个消息只能被一个消费者消费,然后下个消息被另外一个消费者消费,就是不可能做到一个消息被一群消费者消费。 kafka是第二种模型,但是也是支持第一种模型的哦。如果kafka的消费者们都在同一个组里面,那么就是第一种模型;如果消费者们分别在不同的组里面,那么就是第二种模型,可以做到一条消息,被多组消费者里面的消费者消费。

版权声明:更多精彩请关注 http://book.opschina.org, 或者加入QQ新群648503385,或者直接加微信:zzlyzq, 让天下没有难做的运维。

学习计划 - redis

学习目标redis存在的意义是什么?有哪些特有术语?部署中需要注意什么?程序和redis在配合使用的时候,大概是个什么情况?...
  • vbaspdelphi
  • vbaspdelphi
  • 2016年08月31日 08:05
  • 380

Kafka项目实战-用户日志上报实时统计之分析与设计

1.概述   本课程的视频教程地址:《Kafka实战项目之分析与设计》    本课程我通过一个用户实时上报日志案例作为基础,带着大家去分析Kafka这样一个项目的各个环节,从而对项目的整体设计做比较合...
  • xiangxizhishi
  • xiangxizhishi
  • 2017年12月30日 09:45
  • 73

学习计划!!!!!

寒冷的2016年冬季伴随着《君の名 は》一起来临了,作为灵长类动物的一员,依然没有女朋友的各种程序猿在(一个人)哭着看完电影后,开始列起了自己长长的wish list,攒够自己的首付、去欧洲旅游一趟、...
  • hr787753
  • hr787753
  • 2016年12月20日 14:53
  • 481

kafka 1.0 中文文档(九):操作

1基本的Kafka操作 添加和删除主题 修改主题 平滑关闭 leadership 平衡 通过机架平衡副本 集群间的数据镜像 检查消费者位置 管理消费者组 集群扩展 自动迁移数据到新机器上 自定义分区...
  • memoordit
  • memoordit
  • 2018年01月22日 18:03
  • 34

初学者学习计划

按专题学习计划      数据结构和算法基础       理解二进制,整数、浮点数的机器表示,二进制位操作(第一周)       栈、队列、链表的概念(第一周)       树、二叉树、散列...
  • u013700340
  • u013700340
  • 2014年08月02日 11:37
  • 1353

学习计划——2016学习计划

日子过的很快,在java开发的路上,总是希望自己能够更快的成长起来,一直在学习中,看了一些视频,看了一些书籍,但是很多时候自己的学习是不系统的,这样学习起来有一些混乱! 所以还是要计划一下: (1...
  • u010648555
  • u010648555
  • 2016年11月21日 11:51
  • 521

.net 学习计划

近来面试处处碰壁,感觉自己技术实在是不够扎实,一年的开发在技术方面并未有太多的提高,很多知识都停留在能够基础阶段,未曾做过系统的总结技术,平时的技术积累太少,故定下学习计划,望终有一日能够成为技术大牛...
  • u012691896
  • u012691896
  • 2015年10月17日 14:11
  • 748

Linux运维入职学习计划

Linux运维入职学习计划   一、 入职学习的目的:   1.熟悉公司环境,熟悉本部门同事,了解公司IDC基本情况。对公司有一个较全面的了解,认识并认同公司的事业及企业文化,坚定自己的职业选...
  • wuxingpu5
  • wuxingpu5
  • 2015年10月26日 14:10
  • 1750

PYTHON学习路径计划图整理

PYTHON学习路径计划图 Python工作环境及基础语法知识了解 对于Python基础语法学习部分,学习周期大概为4周,需要的相关资源在网络上都能找到免费的资源,而且质量都不错。相关中文...
  • bjash
  • bjash
  • 2017年06月21日 09:56
  • 874

Java学习(一)我的2017年Java学习计划

一、阅读学习《Thinking in Java》这本书二、敢看学习尚学堂-高琪300集java基础视频三、学习JavaEE基础,掌握Spring框架...
  • yanqianglifei
  • yanqianglifei
  • 2017年08月31日 10:03
  • 418
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习计划 - kafka
举报原因:
原因补充:

(最多只允许输入30个字)