当前位置: 首页 > wzjs >正文

花卉物流园做网站的素材全球十大搜索引擎

花卉物流园做网站的素材,全球十大搜索引擎,常州工厂网站建设,wordpress 常用标签Kafka的Log Compaction(日志压缩)是一种独特的数据保留策略,其核心原理是保留每个key的最新有效记录。以下是关键原理分点说明: 1. 键值保留机制 通过扫描所有消息的key,仅保留每个key对应的最新value值。例如&#…

Kafka的Log Compaction(日志压缩)是一种独特的数据保留策略,其核心原理是保留每个key的最新有效记录。以下是关键原理分点说明:

1. 键值保留机制

通过扫描所有消息的key,仅保留每个key对应的最新value值。例如:

原始日志: 
(key1, v1)(key2, v2)(key1, v3)(key2, v4)压缩后日志:
(key1, v3)(key2, v4)

2. 压缩触发条件

Kafka的脏数据比例计算

数学公式

脏数据比例 = (相同key的旧版本记录总大小) / (当前日志段总大小)

示例场景分析
假设日志段包含4条等体积记录:

(keyA, v1) → (keyB, v2) → (keyA, v3) → (keyB, v4)
  1. 有效数据:v3(keyA最新值)+ v4(keyB最新值)= 2条记录
  2. 脏数据:v1(keyA旧值)+ v2(keyB旧值)= 2条记录
  3. 实际脏数据比例:2/4=50%(达到默认触发阈值)

特殊场景验证
当出现以下情况时比例会变化:

  • 非均匀分布
    假设段中有6条记录:3个key各有两个版本

    (k1,v1)→(k2,v2)→(k3,v3)→(k1,v4)→(k2,v5)→(k3,v6)
    

    脏数据 = v1+v2+v3 = 3条 → 比例3/6=50%

  • 跨段分布
    若旧版本分布在多个segment中,则单个segment可能不达阈值

监控验证方法
通过kafka自带工具查看具体segment状态:

# 查看segment元数据
bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files 00000000000000000000.log --print-data-log

输出示例:

offset: 0 key: keyA payload: v1
offset: 1 key: keyB payload: v2 
offset: 2 key: keyA payload: v3  ← 最新有效值
offset: 3 key: keyB payload: v4  ← 最新有效值

此时该segment的脏数据比例为50%。
脏数据就是指的该数据有多版本数据。

日志段含义(物理分片)

Kafka的日志段大小(Log Segment Size)指的是单个日志文件在磁盘上的物理存储限制,其核心要点如下:

  1. 存储单元划分
    每个partition的日志被拆分为多个固定大小的segment文件(默认1GB),文件命名采用base offset数值:
00000000000000000000.log  // 起始offset=0的segment
00000000000005368769.log  // 起始offset=5368769的segment
  1. 配置参数
    通过server.properties控制:
# 单个segment最大字节数(默认1GB)
log.segment.bytes=1073741824# 时间维度滚动策略(默认7天)
log.roll.hours=168
  1. 滚动触发机制
    满足以下任一条件即创建新segment:
  • 当前segment大小超过log.segment.bytes
  • 当前segment存活时间超过log.roll.ms/log.roll.hours
  • 消息最大时间戳与创建时间差超过阈值
  1. 物理文件组成
    每个segment包含三个物理文件:
00000000000000000000.log  // 消息数据
00000000000000000000.index // 位移索引
00000000000000000000.timeindex // 时间戳索引
  1. 性能影响
  • 大segment(如5GB)→ 减少文件数,提高顺序IO性能,但增加故障恢复时间
  • 小segment(如500MB)→ 加快日志压缩和消息过期,但增加文件切换开销

实际查看segment文件示例(Windows路径):

# 查看segment文件列表
dir C:\kafka\data\test-topic-0
# 输出示例:
# 00000000000000000000.log
# 00000000000000000000.index
# 00000000000000000000.timeindex

检查log.cleaner.backoff.ms

log.cleaner.backoff.ms 配置的检查间隔主要用于检查以下内容:

  1. 日志段清理条件检查
    检查各个分区的日志段是否满足清理条件:
  • Compact策略下消息键的最新值是否可合并
  • Delete策略下是否超过日志保留时间/大小限制
  • 是否有足够可回收的磁盘空间
  1. 清理任务调度检查
    评估当前系统的负载情况,决定是否启动新的清理任务:
  • 检查可用的清理线程数
  • 判断当前CPU/IO资源使用率是否允许执行清理
  • 验证待清理分区是否处于可操作状态
  1. 清理进度检查
    监控正在执行的清理任务:
  • 确认当前清理操作是否超时
  • 检查已完成清理的分区是否需要后续处理
  • 验证清理后的日志段索引是否有效

配置建议:

# 当需要更频繁检查时(如高吞吐量场景)
log.cleaner.backoff.ms=5000
# 当需要降低资源消耗时(如边缘设备部署)
log.cleaner.backoff.ms=30000

1 Kafka官方文档指出,该参数控制清理线程在两次检查之间的休眠时间,这个间隔直接影响日志清理的实时性和系统资源消耗的平衡。

当满足以下条件时触发压缩:

  • 脏数据比率超过 min.cleanable.dirty.ratio(默认0.5)
  • 日志段大小达到 segment.bytes(默认1GB)
  • 达到 log.cleaner.backoff.ms 配置的检查间隔(默认15秒)

3. 墓碑消息机制

当需要删除某个key时,会写入value为null的墓碑消息。该消息会保留 delete.retention.ms(默认24小时)后才会被清除。(这是约定的,开发者需要知道并配合kafka的特性来开发,可以依赖该特性进行空间优化。)

4. 物理存储优化

采用copy-on-write机制:

  • 创建新segment文件写入有效数据
  • 完成后原子替换旧文件
  • 旧文件异步删除

5. 应用场景特征

适合需要维护最终状态的场景:
✅ 数据库变更捕获(CDC)
✅ 配置信息更新跟踪
✅ 实时物化视图维护
❌ 不适合审计日志等需要完整历史记录的场景

实际配置示例:

cleanup.policy=compact
min.cleanable.dirty.ratio=0.3
delete.retention.ms=86400000  # 24小时
segment.bytes=1073741824      # 1GB

该机制通过空间换时间的方式,在保证最新状态可查的同时,显著降低存储消耗(实测可减少50%-90%存储空间)。

http://www.dtcms.com/wzjs/787538.html

相关文章:

  • 网站输入一级域名自动跳转二级域名全球互联网企业100强名单
  • 网站维护包括哪些企业网站源码 asp
  • 青岛工程建设管理信息网官方网站wordpress 4.9.6 zh
  • jsp电商网站开发教程wordpress加速cdn
  • wordpress架设主机宜春网站推广优化
  • 广告网站做动图怎么做许昌市网站建设科技
  • 纳税服务网站建设情况国内免费云主机
  • 建设施工合同备案在哪个网站做网站的语
  • 公司门户网站设计权威发布图片红字
  • 智鼎互联网站建设价目表海报app制作
  • 纯静态网站 搜索功能对单位网站的要求吗
  • 水处理设备网站建设深圳网站建设网站制作
  • 手表网站背景公众号必备50个模板
  • 马鞍山建设网站网站制作的流程包括哪些
  • 济南网站建设群郑州网络推广排名
  • 大连模板网站制作公司电子商务网站建设作品
  • 北京高端网站制作百度关键词优化大
  • 微信公众号网站建设费河南省网站备案
  • 北苑网站建设公司莱芜融媒体中心网站
  • 海曙网站制作吉安市建设局施工管理站网站
  • 网站设计制作太原泰达建设集团网站
  • wordpress创建网站安徽建设工程信息网怎么打不开了
  • 网站建设首先要中小学网站建设建议
  • 南阳卧龙区高端网站建设价格网站服务器备案查询
  • 北京定制网站建设网站建设 软件有哪些方面
  • 安徽池州做企业网站信息化建设 公司网站
  • 谷歌建站免费域名注册网站
  • 如何做外贸业务市场推广seo职位描述
  • 便宜的自助建站哈尔滨网站建设方案策划
  • 南宁致峰网站建设做网站茶叶首页标题怎么写