1. kafka是什么
kafka是一个多分区、多副本且基于zookeeper协调的分布式消息系统
2. kafka的优点
高吞吐、可持久化、可水平扩展、支持流数据处理等
3. kafka基本组成及概念
kafka体系架构主要包括producer(生产者)、consumer(消费者)、broker(服务代理节点)、一个zookeeper集群
producer(生产者): 生产消息的一方,将消息发送到kafka中
consumer(消费者): 从kafka接受消息的一方,负责消费
broker(服务代理节点): 可以简单看做一个独立的kafka服务实例
topic(主题): kafka中的消息以主题进行归类,生产者将消息发送到特定的主题,消费者消费特定主题的信息,不同业务就可以用同一个kafka集群
partition(分区): 分区可以理解为队列,一个主题可以有一个或者多个分区,消息进入分区后会有一个offset(偏移量), offset是消息在分区中的唯一标识,kafka通过它保证消息在分区中顺序性,但是不能跨越分区,kafka保证的是分区有序,而不是主题有序
4. 简介kafka如何容灾
1. kafka分区有多副本机制,同一分区不同副本中保存的是相同的信息(同一时刻,副本之间并非完全一样), 副本之间是一主多从的关系,leader副本负责处理读写数据请求, follower副本只负责与leader副本之间的消息同步, 当leader副本出现问题,follower副本中从新选举新的leader副本对外提供服务。
2.消费端使用pull模式获取信息,并且保存offset,当消费者宕机后恢复时,可根据offset重新拉取需要的消息