【kafka系列】如何选择消息语义?

目录

业务权衡

如何选择消息语义?


业务权衡

维度

At-Most-Once

At-Least-Once

Exactly-Once

消息丢失风险

消息重复风险

网络开销

最低(无重试)

中等(可能重试)

最高(事务+协调)

适用场景

可容忍丢失的实时数据流

不允许丢失的日志采集

金融交易、精准统计


如何选择消息语义?

  • At-Most-Once:优先性能与低延迟,接受数据丢失(如实时监控)。
  • At-Least-Once:优先可靠性,接受重复(需业务去重,如订单状态更新)。
  • Exactly-Once:强一致性场景(需Kafka事务+业务幂等性,如支付系统)。

你可能感兴趣的:(kafka,kafka,分布式,数据库,大数据)