初识kafka记录---1

1、kafka是一个分布式流处理平台(不遵循JMS规范)
分布式:分布式内存(多系统或多服务)
流处理:实时获取动态数据并进行处理(筛选和转换数据)

2、流处理平台的特性
MQ的发布订阅
有较好容错性的存储流式的记录
可以在流式记录产生时进行处理

3、适用场景(消息系统、存储系统、流处理)
构造实时流数据管道,也就是可以在多系统或应用之间可靠的获取数据。(MQ的特性)
构建实时流式应用程序,也就是流处理,对流数据进转换或影响(通过kafka stream topic和topic之间内部进行变化)

4、kafka以集群存在,通过topic对流数据进行分类,每条记录中会有key、value、时间戳

5、四个核心API
producer API:允许一个生产者发布一串流数据到一个或多个topic
consumer API:允许一个消费者订阅一个或多个topic,并且对发布他们的流数据进行处理
Streams API:运行一个应用作为一个流处理器,消费一个或多个topic产生输入流,然后生产一个输出流到一个或多个topic,在输入输出中进行有效的转换
connector API:允许将kafka topics连接到已知的关系型DB,捕捉表的所有变更内容

6、kafka的topic就是数据主题(也叫做目录),是数据记录和发布的地方。
每一个topic,kafka集群都会维持一个分区日志,每个分区都是有序且顺序不可逆的记录集,并不断追加到结构化的log文件中。分区中的每个记录都会有一个offset(偏移量/下标)来对应,并且由消费者来控制。因此消费者可以通过任何顺序来控制偏移量从而来消费记录,例如消费者可以重置偏移量来重新消费,也可以跳过最近的记录从当前开始获取。

7、kafka集群
每个分区都会有一个server作为leader,多个server作为follower。leader处理一切对partition的读写请求,follower只需被动同步leader上的数据。但leader宕机时,会在剩下的follower中选举leader。各分区之间使用轮询机制存储,因此集群的负载是均衡的。

8、传统消息系统与kafka消息系统
传统消息系统:
队列:(可扩展处理过程)
优:可以将消息发送给多个消费者,可将数据处理的过程扩展给其他消费者。
劣:一旦被消费之后数据就会丢失。
发布订阅:(允许多订阅)
优:消息发送给所有消费者。
劣:处理过程无法扩展。
kafka消息系统:
优:可扩展处理,允许多订阅,采用offset来保证严格顺序和负载均衡。

9、kafka存储系统:(中间数据的存储系统)
数据写入kafka后会被写到磁盘,并进行备份以便容错。直到完全备份,kafka才让生产者认为完全写入,即使写入失败也会继续保持磁盘结构,可保证50TB数据存储在server上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值