一、 多层信息传递模型 库存同步、价格同步本质上都是多层信息传递模型,在供应链这类有关联关系的业务场景中还是比较常见的。为解决大数据量数据根据不同规则传递数据,调研了两套技术解决方案。

方案一:

  1. 库存变更数据通过Java同步中间件同步到Kafka
  2. 规则数据通过Java同步中间件同步到Kafka,实时清洗,构图到Neo4j
  3. 通过Spark Streaming实时消费Kafka数据,通过读取Neo4j中的多级供分销关系一次捞出来,通过GraphX进行构图
  4. 编写GraphX图传递算法,广度优先一级一级传递
  5. 结果写入DB,提供数据服务进行查询

优点: ● 供分销关系存在图库,关系更加清晰 ● Spark图算法传递,计算性能更好 缺点: ● 技术组件及计算框架复杂,开发成本及维护成本偏高 编写demo,测试技术链路,考虑到图传递部分算法开发成本偏高,尝试新方案 方案二:

  1. 库存变更数据通过Java同步中间件同步到Kafka
  2. 规则数据通过Java同步中间件同步到Kafka,并且写入存储
  3. Flink迭代流,编写核心同步逻辑,通过递归迭代的方式实现
  4. 结果写入缓存,提供数据服务

优点: ● 数据链路比较短,技术实现成本及维护成本更低 已编写迭代流Demo,验证技术可行性