方案对照
| 方案 | 优点 | 注意点 |
|---|---|---|
| 应用双写 | 链路短、实现直接 | 写失败要补偿;两个写路径逻辑对称 |
| CDC(binlog/oplog) | 不侵入业务、顺序有保障 | 组件多、延迟与重复投递 |
| 消息队列中转 | 削峰、可多消费方 | 消息积压与顺序性要设计 |
| 定时全量重建 + 增量 | 可作为兜底修复手段 | 全量期间增量要并行捕获 |
版本控制消除乱序(ES external version 示例)
版本控制消除乱序(ES external version 示例)
curl -X PUT "localhost:9200/orders/_doc/1001?version=7&version_type=external" \
-H 'Content-Type: application/json' \
-d '{"orderId":1001,"status":"paid","updatedAt":"2026-10-12T10:00:00Z"}'
# 旧版本号的写入会被拒绝:version conflict,消费者跳过即可删除要显式传递:软删除(status=deleted 过滤)或发删除请求;只同步新增更新而漏删除,会让搜索结果长期残留已删数据。