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

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

kafka 权威指南--读书笔记-(1)初识kafka_第1张图片

1.2.4 生产者和消费者

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

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

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

kafka 权威指南--读书笔记-(1)初识kafka_第2张图片

 

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 使用场景

 活动跟踪

传递消息

度量指标和日志记录

提交日志

流处理

 

 

 

你可能感兴趣的:(kafka,kafka名词含义)