CnOps 社区
首页开源项目实践文章视频课程常见问答开发者工具
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具

CnOps 社区

愿景

CnOps 社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页问答iLogtail 社区版的 checkpoint 机制是如何工作的?

iLogtail 社区版的 checkpoint 机制是如何工作的?

#iLogtail#checkpoint#ExactlyOnce#数据可靠性#SLS

可观测中文社区 | 2025-03-19

iLogtail 社区版提供两种 checkpoint 机制来保障采集的可靠性:

第一种(默认机制):在配置更新、进程退出或定时器触发时,将包含 offset 的 checkpoint 写入本地文件。对于 flusher_sls,进程正常结束时会将内存队列中的数据写入本地磁盘文件。对于其他 flusher,由各 flusher 实现的 stop 函数负责数据持久化,stop 函数执行完毕后进程才会退出。这种机制的局限是:进程异常退出时来不及保存 offset,导致内存队列中的数据位置信息丢失,重启后会从上次已保存的点位开始,产生重复消费。

第二种(ExactlyOnce 语义):结合后端 SLS 的去重机制实现。根据 sender 的反馈设置 commit 状态位,将文件读偏移 offset 和读大小写入本地存储。发送失败的数据其 commit 状态为未提交,下次事件触发时进行采集回放。这种方式在客户端和服务端配合下可实现精确一次语义,但目前仅对 SLS 输出可用。