kafka架构和概念

1.什么是kafka?

注:高吞吐量的分布式发布订阅消息系统。

能力:流处理。发布订阅消息。

1.1没有架构时候:用户调用系统注册板块,然后板块写入db,然后成功了,再去调用短信接口,在返回。

kafka架构和概念_第1张图片

1.2 如果短息服务出现了故障。那么所有调用注册都会发生异常。

kafka架构和概念_第2张图片

异步发送:加上消息队列,用户注册将数据写入db,同时注册系统,会将成功信息发到消息队列,发送短信服务里的消费者会不停去取队列的消息,最后直接返回给用户。减少了系统资源消耗,较少调用时间。//将消息队列应用在异步通信。

kafka架构和概念_第3张图片

做到了解偶。和可用性。

kafka架构和概念_第4张图片

注:异步通信,削峰填谷

kafka架构和概念_第5张图片

从数据基站,日志产生的现场。----》

对基站的数据进行实时的计算,经过消息队列缓冲(削峰)----〉

流计算平缓的从队列中得到数据----》

流计算的结果放入队列平稳的存入数据库。填谷

kafka架构和概念_第6张图片

主流的流计算框架:

storm/spark strem/flink---》运行在服务端的流处理程序

Kafka Streaming-----〉运行在应用端的流处理程序,方便部署。

2.消息队列(Message Queue)

kafka架构和概念_第7张图片

kafka架构和概念_第8张图片

kafka架构和概念_第9张图片

至多一次:一条消息被一个消费者消费,消费完就被队列自动删除。

没有限制:队列一条数据可以同时被多个用户同时消费,一个用户可以实现对消息的重复消费。kafka就是这样的。

3.kafka基础架构

kafka架构和概念_第10张图片

kafka架构和概念_第11张图片

图例:

kafka架构和概念_第12张图片

实际架构

1.hash的key会均匀的覆盖分区(partition),相同的值保存在相同的分区。

2.启动好的kafka集群里每一个实例叫一个broker。

3.由图可以看到partition0在broker-0里。作为这个partition0分区的leander(主,只有主才能负责读写),而其他(broker-1/broker=2)的partition0作为follower(从)。

4 .如下图2,如果broker-0突然当机了,partition0的主就失效了,那么会重新选举如图(broker-2)上的partition0会成为分区的leande,那么broker-2,上既有partition0的leande,也有partition1的leande。

kafka架构和概念_第13张图片

kafka架构和概念_第14张图片

总结

生产者:发送消息

消费者:订阅,和读取消息。

1.什么是Record?

他是kafka聊天队列里的一则消息。

2.什么是Topic?

他是对kafka消息队列中Record的一种分类机制。

3.什么是分区,什么是副本因子?

分区:指的是我们会吧一个Topic下的数据分散的存储在几个独立的文件当中。

副本因子:指的是当前分区文件会在集群当中有多少个备份数据。

4.在kafka集群中服务节点有两类,

一类叫broker,负责响应,或者负责管理我们对应分区的数据。leande负责数据的读写。follower负责数据的备份。结合zookeeper健康监测等用法。

你可能感兴趣的:(kafka,kafka,面试,java)