流式处理特性

一种顺序驱动的业务事件处理机制,通过业务扩展包动态配置处理逻辑,严格按事件发生时序逐条处理,确保数据一致性。

核心场景

  • 高实时性:适用于要求秒级响应的场景(如主数据同步)。
  • 强时序性:依赖事件发生的先后顺序(如新设部门并调岗、状态变更流水)。

实现逻辑

  1. 事件采集

EXT模块通过MQ监听业务事件,按时间排序后持久化到事件表,供下游消费。

  1. 处理机制

    • 动态过滤:通过业务扩展包配置感兴趣事件类型和脚本,仅处理匹配事件,忽略无关事件(游标直接+1跳过)
    • 轮询驱动:以N秒间隔轮询事件表,通过游标(当前处理ID)定位待处理事件。
    • 成功/忽略 → 游标+1,处理下一条。
    • 失败 → 阻塞当前游标,持续重试(不跳号),直到:
      • ✓ 达到重试上限(告警触发)
      • ✓ 下游恢复/BUG修复后处理成功
  2. 热更新能力
    脚本支持界面化编辑保存,新脚本在下一轮轮询时自动生效,无需重启服务。

  3. 空闲状态
    当游标追赶到最新事件时,保持轻量级的轮询动作,直到新事件产生后继续处理。

关键设计原则

  • 严格保序:游标单向移动,杜绝乱序风险。
  • 动态过滤:通过配置灵活适配不同下游需求,避免无效处理。
  • 故障自愈:通过重试机制容忍临时性异常。
  • 轻量级轮询:事件表仅存储必要字段(如ID、时间、事件类型),降低查询开销。
  • 热部署:脚本实时更新能力确保业务连续性。
作者:稳赢云  创建时间:2024-05-24 16:06
最后编辑:Ash Yang  更新时间:2025-05-07 14:56