外部对接包括公司内部其他组或其他BU,其他公司的,如接入开放平台
公司内部对接不算复杂,一般用的一套技术栈,直接soa、mq走下来,复杂度不高
但涉及到其他公司,既要考虑环境的问题,排期的问题,字段对齐等等,
还会有https交互、接口鉴权、接口稳定性、接口性能等等问题
有时候别人出现的问题,不一定及时帮你解决,你也push不动
这次需求,别的公司环境挂了好几次,导致多次阻塞
不能完全信任别人给的文档,要看真的返回值,还有口头上进行充分的沟通
还有更坑的,上游有一个字符串字段返回了“null”,第一次见,String返回空不算返回null,就是””,返回一个“null”,这。。。
我当时是StringUtils.isBlank(xxx)
,一直进不去这段逻辑,太坑了,这样的小问题也要仔细看
还有http接口,我接口返回的结果是String
,把result对象toJsonString
了,结果上游对返回值也做了次toJsonString
,导致报错,最后使服务熔断。。。这些都是在联调时对接的研发重来没有和我沟通过的。。。
还有坑的就是上游传来的userId由于没有事先确认好是非必传的值,我没有判空,我寻思userId不会不传把,结果联调都传了,就算没值,也会传0,后来线上直接传个null,导致问题,这一块也是沟通不充分,还因为自己的代码健壮性不够,少了一次判空,不能想当然。
一定要注意哪些是必传字段,哪些是非必传,这一点是非常重要的
最后想说的,是和外部对接,能依赖一方完成的,就不要依赖第三方,减少依赖路径,提高系统稳定性
【小结】
加强和上下游的沟通能力,遇到问题耐心、不急不躁,
首先要做好自己这边,出问题先看自己服务有没有问题,自证清白
上下游出问题要及时主动去push对方,不支持的就让大佬在群里协调
说点什么
1 评论 在 "外部对接经验杂谈"
[…] 相关内容:之前的文章【外部对接经验杂谈】 […]