Kafka-副本和ISR
参考文献
Apache Kafka实战–胡夕
ISR
就是Kafka集群动态维护的一组同步副本集合(in-sysn replicas);
每个topic分区都有自己的ISR列表,ISR中的所有副本都与leader保持同步状态.
值得注意的是,leader副本总是包含在ISR中的,只有ISR中的副本才有资格被选举为leader.而 producer写入的一条Kafka消息只有被ISR中的所有副本都接收到,被视为"已提交"状态.由此可见,若ISR中有N个副本,那么该分区最多可以忍受N-1个副本崩溃而不丢失已提交的消息;
foller副本同步
foller副本只做一件事情:向leader副本请求数据.
起始位移(base offset): 表示该副本当前所含第一条消息的offset;
高水印值(high watermark,HW): 副本高水印值.它保存了该副本最新一条已提交消息的位移.
leader分区的HW值决定了副本中已提交消息的范围,也确定了consumer能够获取的消息的上限,超过HW值的所有消息都被视为"未提交成功的" ...
Kafka-(一)基础理论
参考文献
《面试八股文》之 Kafka 21卷
Kafka常见面试题
Kafka 常见面试题整理
最新基准测试:Kafka、Pulsar 和 RabbitMQ 哪个最快?
kafka专题:kafka的消息丢失、重复消费、消息积压等线上问题汇总及优化
Kafka在中信建投的实战
https://kafka.apache.org/documentation/
什么是消息中间件
消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步,可靠的消息传输的支撑性软件系统;
消息传递技术: 队列和发布-订阅
队列:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人。
发布-订阅:在这个模型中,消息被广播给所有的用户。
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排队模型,他可以在分布式环境下扩展进程间的通信.
什么是Kafka
Kafka是分布式发布-订阅消息系统,它最初是由LinkedIn公司开发的,之后成为Apache项目的一部分,Kafka是一个分布 ...
Kafka命令实操
Kafka命令实操
1.启动 broker
1./bin/kafka-server-start.sh -daemon <path>/server.properties
./bin/kafka-server-start.sh <path>/server.properties &
有问题,虽然通过添加&符号使该命令在后台运行,但当用户从回话登出(log out)时该进程会被自动kill掉,从而导致broker关闭
建议使用
nohup .bin/kafka-server-start.sh <path>/server.properties &
验证broker是否正常启动可以通过server.log日志文件查看输出项
2.关闭broker
12345bin/kafka-server-stop.sh或者1. 使用jps命令直接获取Kafka的PID2. 若没有安装JDK,则运行`ps ax|grep -i 'kafka\.Kafka'|grep java|grep -v grep|awk ' ...