--灵魂拷问1:
产生的数据一直向同一个log中进行追加,会有什么问题?
--答案:
log中的数据会越来越大,查询和读取效率会变慢
--解决方式:
数据达到一定程度以后,log会进行数据切分,生成多个segment切分文件。
切问后的文件依然包含index、log、timeindex。所以三个文件是作为一个整体的。
--灵魂拷问3:
为什么kafka选择全部完成同步,才发送ack
-- 灵魂拷问4:
kafka选择第二种副本同步策略会有哪些问题呢?
-- 答案:
问题1:follower同步leader的数据时,当某一个follower迟迟未向leader回复备份成功时,出现阻塞的状态;
问题2:当leader回执给producer的ack丢失时,producer因为没有收到来自leader的ack,则默认数据没有发送成功,会重新向集群发送未收到ack的消息,导致数据的重复。 -- 数据的重复指:同一条消息重复发送。
那么如何解决上面的两个问题?