数据交换
系统
01邮箱
02仓库
03账务
04展示页
来自
邮箱
去向
仓库
痕迹
日志
01
由什么构成
系统里包含什么
- 01
字段以谁为准
每条事实只有一个主人:价格在账务里,订单状态在展示页里,联系人在 CRM 里。其余系统只读取。
- 会传出去的字段清单
- 从哪里写入,谁只读取
- 如果两个来源改了同一个字段,怎么办
- 02
渠道
API、Webhook 或队列,按系统能怎样交出数据来选,而不是怎样更时髦。
- 哪些自行到达
- 哪些必须按时间表去取
- 高峰时的量有多大
- 03
故障
没送达的数据包不会无声消失。它会等待并再试一次。
- 间隔后重试
- 已经不能再重试的数据包
- 如果队列停住,就发信号
- 04
日志
按订单号或卡片号能看到:已发出、已送达、已拒绝,以及原因。
- 每次尝试都有记录
- 按编号搜索
- 谁可以重新发起数据交换
- 05
不连接什么
多余的连接会制造差异。没人读的字段不带上。
- 仍保持手工的系统
- 不参与交换的字段
- 如何在备份上检查数据交换,先于生产数据
做什么
- 01一张图:每个字段以谁为准
- 02API、Webhook 和队列
- 03接入账务、银行和展示页
- 04故障时重试,而不是让数据包无声丢失
- 05能看出什么没送达的日志
如何推进
- 01系统检查
- 02数据交换示意图
- 03构建
- 04在真实数据上走查
- 05给团队的说明
用什么
- REST
- GraphQL
- Node.js
- Python
- PostgreSQL
工期参考
一次数据交换从一周起。几套系统且数据有冲突,从一个月起。
完成后
事实只录入一次,并到达等着它的地方。
通常以后再做的
三个系统里同一字段的双向编辑,以及「五年历史迁移」,会在当前数据已经能正常交换之后单独来做。