参考的文章博客:Kafka 原理以及分区分配策略剖析
kafka体系架构和读写流程.jpg
Q:kafka的key有什么用,可以用来保证upsert幂等写入吗??
A:生产者分配分区的策略key-ording类似keyBy,key相同的数据会分布到同一分区从而实现有序。Kafka是追加流的模式无法retract和upsert,从0.11版本开始通过<PID,Partition,SerialNum>幂等实现单会话单分区Excatly-once并通过事务<PID,TransactionID,SerialNum>保证跨分区跨会话也做到Exactly-once。而在最新的flink1.12中实现了upsert kafka的sink connector。
Q:kafka还是hbase是顺序写磁盘吗?
A:rocketdb和kafka是的,hdfs/hbase也是顺序写入。
Q:kafka的分区分配策略??
A:对于生产者,有随机分配、轮询、key-ordering以及指定分区写入;对于消费者