系统集成
系统集成,就是让彼此独立的系统表现得像一个整体——在 ERP、CRM、支付服务商以及业务用到的其他系统之间搬运数据,可靠到没人需要再手工重录一遍。难点几乎从来不在一切顺利的那条路径上,而在于:当某个系统宕机、变慢,或者返回了意料之外的东西时,会发生什么。
集成工作通常长什么样
多数集成项目的起因,是有人在系统之间手工搬数据,而这件事的代价终于变得肉眼可见了。
- ERP 与财务系统,需要从别处获取订单与库存数据。
- 支付服务商,这里正确性与对账比速度更重要。
- CRM 与营销工具,需要一份可信的客户记录。
- 没有现代 API 的遗留系统,只能通过文件、消息队列或数据库来对接。
为「不顺利的那条路径」做设计
只有在所有系统都健康时才能跑通的集成,不算做完。我们从一开始就按局部故障来设计,因为在生产环境里,局部故障是常态而非例外。
- 操作具备幂等性,因此重试不会导致重复扣款或重复下单。
- 明确的重试与退避规则,而不是指望下一次尝试刚好成功。
- 死信处理机制,让失败的消息可见,而不是悄无声息地丢掉。
- 对账校验,在客户发现之前就捕捉到系统之间的数据漂移。
让它可观测
集成出问题时,第一个问题永远是:某条记录卡在哪儿了。如果回答这个问题需要翻看四套系统的日志,那么故障处理就会以小时而不是分钟计。我们对整条链路做端到端埋点,让这个问题只有一个答案。
常见问题
- 没有 API 的系统你们能集成吗?
- 通常可以。老系统一般可以通过定时文件交换、数据库访问或消息队列来对接。这类方式不够优雅,但完全可行;在确定方案之前,我们会把其中的取舍讲清楚。
- 系统之间数据不一致时怎么处理?
- 在写任何代码之前,先和你一起明确约定:每个字段以哪套系统为准。集成中的大部分痛苦,都源于这个决定是被默认的、而不是被明确做出的。
- 集成上线之后你们提供支持吗?
- 可以。两端任何一侧的系统发生变更,集成就可能失效,因此长期支持的价值往往超过最初的开发。你也可以选择由我们完成交接,附上文档与运维手册。

