12 2019 档案
摘要:kafka在什么情况下才能保证消息不丢失? 一句话概括,kafka只对“已提交”的消息(committed message)做有限度的持久化保证。 已提交消息:当kafka若干个broker成功地接收到第一条消息并写入到日志文件后,它们会告诉生产者程序这条消息已成功提交。此时,这条消息在kafka看
阅读全文
摘要:kafka是如何压缩消息的?要弄清楚这个问题,就要从kafka的消息格式说起。kafka的消息层次分为两层:消息集合(message set)以及消息(message)。一个消息集合包含若干条日志项(record item),而日志项才是真正封装消息的地方。kafka底层的消息日志由一系列消息集合日
阅读全文
摘要:为什么分区? kafka有topic的概念,它是承载真实数据的逻辑容器,而在主题之下还分为若干个分区,也就是说kafka的消息组织方式实际上是三级结构:主题-分区-消息。主题下的每条消息只会保存在某个分区中,而不会在多个分区中被保存多份。 其实分区的作用就是提供负载均衡的能力,不同的分区能够被放置在
阅读全文
摘要:Topic级别参数设置: 如果同时设置了topic级别参数和全局broker参数,topic级别参数会覆盖全局broker参数的值,而每个topic都能设置自己的参数值,这就是所谓的topic级别参数。这样做的好处是不同部门的topic根据业务自身需要,设置自己的留存时间。 retention.ms
阅读全文
摘要:Broker端参数设置: kafka broker端参数也被称为静态参数,所谓静态参数,是指你必须在kafka的配置文件serve.properties中进行设置的参数,只要有修改,就必须重启broker进程才能令它们生效。 存储信息相关参数: log.dirs:指定了broker需要使用的若干个文
阅读全文
浙公网安备 33010602011771号