网易云课堂学习- Kafka Connect数据传输作业工具

topic、partition、replication
网易云课堂学习- Kafka Connect数据传输作业工具
每个partition都有自己的副本,并且不在同一台机器上。一个leader,多个fowller。
写数据是往fowller上写。
partition的个数,建议是consumer的整数倍。
一个partition数据只会被一个consumer消费。一个consumer group消费一个完整的topic数据。

网易云课堂学习- Kafka Connect数据传输作业工具
Zookeeper简介
网易云课堂学习- Kafka Connect数据传输作业工具
网易云课堂学习- Kafka Connect数据传输作业工具
kafka中的leader和fowller是partition级别的,不是实例
zookeeper中的leader和fowller是进程级别的,是实例
zookeeper节点越多,性能越差。节点数一般是奇数个,保证它的可靠性。少于半数时,没办法工作。
网易云课堂学习- Kafka Connect数据传输作业工具
网易云课堂学习- Kafka Connect数据传输作业工具
kafka的副本个数小于等于broker个数
一个group可以消费全量的数据
commit offset就是为了在consumer重启的时候,知道上一次消费的结束位置,从这里继续开始消费。
auto.commit可能会导致数据重复消费,因为可能出现数据还没处理完就commit,如果此时宕机,则下次消费时 会从上次的offset处开始消费,会丢失一部分数据。
手动commit可以保证at least once。但是不能保证exactly once。可能会出现重复消费。
在外部存储offset,可以保证刚好只消费一次。将数据和offset都保存到mysql,保证原子性。

网易云课堂学习- Kafka Connect数据传输作业工具
第二种方式:将数据和offset放到磁盘的同一条数据中。