欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

今天我们就来聊聊,如何做好常见第三方系统的对接,分享几个真实的坑爹案例--什么是 "坑爹"?

最编程 2024-04-18 19:32:57
...

对接的是什么?

  • 一定要从 宏观微观的搞清楚我们自己的系统是做什么业务,有哪些数据、哪些字段;需要提供给第三方哪些数据、哪些字段;又需要从第三方获取哪些数据、哪些字段。

这里的宏观和微观指的是宏观的系统物理架构、逻辑架构、部署架构、业务架构,微观的指系统模块、功能点的实现细节、及其涉及的表和其他三方对接历史。

要找到掌握这么多的人,可不是一件容易的事儿,这里能掌握这么多的人,一般都是团队的核心骨干首席开发工程师❤️

  • 同样的也要掌握第三方系统大致业务流程,部署架构等等, 知己知彼,百战不殆

为什么要搞清楚部署架构?在这里我分享下之前的一个真实案例,当场裂开的那种。

项目对接开始,前期双方都紧锣旗鼓的对接、测试等等,各个环节都很顺利,于是乎在测试环境稳定一周左右后上线。

上线之后的2-3天,突然的某一天,运营人员的一通电话☎️ 打破了祥和的假象!线上出现了很多重复的业务流水号⚠️。

例如:

正常情况数据应该是这样的:

id 流水no 创建时间
10378 QJ00073001 2020-12-18 12:10:11
10379 QJ00073002 2020-12-18 12:10:11

但是现场的情况是:

id 流水no 创建时间
10378 QJ00073001 2020-12-18 12:10:11
10379 QJ00073001 2020-12-18 12:10:11

存在重复的流水号:QJ00073001⚠️,当场我就裂开了,这TM测试环境跑了一周没事儿,正式环境都搞了2-3天了出现问题,趁事态没有扩大,各种排查,

是不是线程安全问题啊?是不是第三方问题啊?这2天动了什么现场环境等等。

很快我们就定位出问题来了,原来是昨天晚上,又对接了一个新的局点导致的,第三方服务部署架构是分级部署的。

我们以为的对接:

实际的对接:

第三方的部署架构是每个局点单独部署一套服务,所以他们那边的流水号都是从1开始的,导致我们直接拿流水号来用的时候裂开了。

处理方式也很简单,流水号加上局点code即可,例如:HW31QJ00073001HW89QJ00073001