Kafka基础学习

Kafka介绍

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。

Kafka模式

点对点:消费者主动拉取数据,消费后,消息清除。
发布订阅:消费者主动拉取数据,消费后,消息不会被清除。

Kafka集群

1、Kafka集群依赖于Zookeeper。
2、每个Kafka实例都必须有一个唯一整数的broker_id。
3、可以在Zookeeper中执行shell脚本,来进行Kafka集群的全部开启和全部关闭。
4、主题消息默认会保留Kafka实例中7天。
5、集群中,可以设置主题的分区和副本,副本至少一个,且不能超过Kafka节点个数。
6、集群接受主题消息时,默认按照轮询方式进行负载均衡。

Kafka概念

1、生产者发送的消息,会存储在分区对应的log文件中。
2、每个log文件都有一个对应的index文件。
3、消费者发送消息到某个leader中,且flower同部完成,会返回给消费者acknowledge。
4、ISR是一个队列,里面维护着flower同步的时间信息,时间越短,越可能是下一个leader。

原文地址:https://www.cnblogs.com/feiqiangsheng/p/11803710.html