kafka 权威指南--读书笔记-(1)初识kafka

Kafka入门与核心概念
本文介绍了Kafka的基础知识,包括发布与订阅系统的工作原理、消息和批次的概念、消息模式的作用、主题和分区的设计思想、生产者和消费者的运作机制、Broker和集群的组成方式以及保留消息的策略等。

                                                  第一章: 初始kafka 

官方文档:http://kafka.apache.org/

kafka 中文文档地址:http://orchome.com/kafka/index

 

 1.1 发布与订阅系统:

  数据的发送者不会直接把消息发送给接受者,,发布者以某种方式对消息分类,接受者订阅他们,以便接受特定的类型的消息。

 

1.2.1 消息和批次

kafka的数据单元被称作为消息,可以把消息看做为数据库里的一个数据行,或者一条记录

一组消息就是批次,消息被分批写入kafka,为了减少网络开销,做出了时间延迟和吞吐量做出权衡,批次越大,单位时间处理消息越多,传输时间越长,

 

1.2.2模式

消息模式,就是用一种数据结构来定义消息内容的结构。比如:json和xml,易用性好,可读性好,但是缺乏强类型处理,和版本兼容,kafka提供原生apache avro 作为序列化框架,原因是,紧促性的序列化格式,模式和消息体分开,版本前后兼容。

 

1.2.3 主题和分区

kafka消息通过主题进行分类。主题就好比数据库的表,或者文件系统里的文件夹,主题可以被分为若干个分区,一个分区就是提交日志,消息以追加方式写入日志,然后按照队列顺序读取。主题再包含多个分区时候,无法保证整个主题范围内消息的顺序,但是可以保证消息在单个分区内的顺序, 一个分区可以横跨多个服务器,因此来提高弹性的伸缩。

1.2.4 生产者和消费者

生产者创建消息,一般情况下,一个消息会被发布的特定的主题上,生产者在默认情况下吧消息均衡分布到主题的所有分区上,而并不关心特定消息会被写到那个分区,若要写到特定分区(自己实现分区器,实现hash ,散列值)

消费者读取消息, 消费者订阅一个或多个主题,并按照消息生产的顺序读取他们,消费者通过检查偏移量来区分已经读取过的消息,偏移量是另一种元数据,是不断递增的整数值。在0.9版本以前保存在zookeeper上,0.9后可设置到kfka上。

消费者是消费者组的一部分,也就是说,会有一个或多个消费者共同读取一个主题,群组保证每个分区只能被一个消费者使用,

 

1.2.5 broker和集群

 一个独立的kafka服务器被称为broker。broker接受来自生产者的消息,为消息设置偏移量,并提交消息到磁盘保存,broker为消费者提供服务器,对读取分区的请求做出响应,返回已经提交到磁盘上的消息,

多个broker 是的一种有效连接,为集群,。集群里的broker 可以相互复制,

保留消息:保留策略   时间为7天,或者字节数组为1g,当两个都配置时候,取最小的,例如,当日同步消息较大,一天内就达到1g, ,就满足最小1g的条件,删除多余的消息。

 

1.2.6 多集群

kfka集群部署的增加,最好使用多个集群,

数据类型分离

安全需求隔离

多数据中心(灾难恢复)

多数据中心,需要他们之间复制消息,避免单节点宕机, 数据复制采用MirrorMaker 工具

 

1.3 为什么选择kafak

多个生产者,无需协调不同生产者的数据流,可以自定义不同的topic 统一数据格式

多个消费者,kafka支持多个消费者从一个单独的消息流读取数据,且互不影响, 多个消费者也可以组成群组,共享一个消息流,保证整个群组对每个给定的消息只处理一次。

基于磁盘的数据存储,

伸缩性。高性能 生态系统成熟

 

1.4 使用场景

 活动跟踪

传递消息

度量指标和日志记录

提交日志

流处理

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值