Skip to content

1. 你应该选哪一种

模式适用场景优点缺点/注意
EnvelopeJson(默认推荐)长期对接、版本演进、混合事件(Telemetry/Attributes/上下线等)语义稳定、可扩展、便于排障体积相对更大(字段名重复)
Kv只关心 Telemetry/Attributes,想要更“紧凑可读”结构简单 {ts_ms, values}当前仅适用于 Telemetry/Attributes;建议不要用于设备上下线等事件
TimeseriesRows数据湖/TSDB 摄取(行式)便于批量写入,易于落表输出是数组,平台侧需要按 row 处理
MappedJson平台字段/结构不匹配,需要声明式改造无需写代码即可变形需要理解 JMESPath;规则复杂时可读性下降

经验法则

  • 对接初期:用 EnvelopeJson(最容易排障)
  • 追求吞吐/落湖:用 TimeseriesRowsKv
  • 需要对接平台自定义结构:用 MappedJson

3. 与模板/分区的关系

payload 负责“消息体长什么样”,topic/key 负责“消息去哪儿、如何分区”:

基于 Apache License 2.0 许可发布.