kafka

一.数据运输面临问题

1.数据来源不同,webserver,物联网,用户行为/接口数据等

2.数据速度快

3.数据量大

二.message queue信息队列

1.各个系统隔离,挂一个不影响

2.增加可扩展性

3.消息广播,告诉每一台机器

4.容易处理数据高峰

5.缓存失败的数据

三.message queue面临挑战

1.不能长期存储数据

2.如何处理上下游连接失败

3.如何快速发送消息

4.数据量大,如何扩张队列宽度

四.Kafka结构

Kafka-分布式实时数据处理系统,可以横向扩展、高可靠,而且还变态快

1.push 高输出,逻辑复杂

2.pull 逻辑简单,可短暂存放,有重播功能

五.kafka处理过程

topic-话题,数据按话题分类

partition-分区,每个分区只能属于一个topic

优点:可扩展,提高读写速度

offset-分区上的索引,offset丢失只能重新查找

API: publish往topic写 和consume消费,可从指定offset开始读

producer(push)-->message queue-->consumer(pull)

consumer group 一个consumer接受消息,组内共享

六.kafka存储在log file,每一行是一个message

log file是临时存储,可以配置存储时间,可以配置存储空间,超过多少G删除

Kafka 存储格式 message无压缩或者一个message存多个压缩的message

七.kafka对IO(input,output)操作,数据复制的优化

读写多用序列存取sequence access 不用随机存取random access

IO优化-zerocopy

partition有两种角色leader和follower

producer通过leader写,follower主动从leader读数据

八.Kafka应用

 日志收集,消息系统

posted @ 2019-05-10 20:02  番薯大大  阅读(172)  评论(0编辑  收藏  举报