对接第三方或者对接内部服务时,为了能够更好的查找问题,需要注意以下几点

182 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

相信大家都对结果第三方接口或者内部服务间的调用吧?那么你们一般是如何快速定位和查询问题呢?

以下是我在对接工作中的经验,主要讲的是日志储存和读取,保证是一条线。这里做一个记录,也做一个分享

别人请求自己的接口时,需要记录以下几点,将这些要全部储存起来:

  1. 请求方的ip
  2. 访问的链接
  3. 请求来的数据

上面说的将所有请求信息全部储存起来后,我们需要考虑一个问题,并发问题,那么我们如何解决并发导致的日志错行呢?

这个问题问的好,如果日志错行,我们记录日志的意义就没有了,因为出了问题后,根本无法准确定位问题所在。所以最重要的一点,添加日志id,在索引日志的时候使用日志id来查询,这样就能保证数据是一条线的

接下来就是签名环节,规定一种签名方式,两方在请求和接收的时候全部做签名和验签操作,常见的签名方式有:RSA、RSA2、AES、DES、SHA256、MD5等等,有很多,就不一一列举了

我们请求别人的时候一样要记录清楚以下几点:

  1. 请求的url地址
  2. 请求的参数
  3. 对方返回的响应值

接下来是本文的总结:

  1. 储存请求来的数据
  2. 储存请求出去的数据
  3. 添加日志唯一id,保证一条线
  4. 请求的加签和响应的验签操作 (响应或者回调验签这个,如果在某些特定场景,是可以选择不验签的,但是已经要记录上验签失败的日志)

做到以上几点,不管是对接第三方或者别人对接自己,出现任何bug的时候,都可以根据日志很快的定位到问题所在

切记一定要:做好日志、做好日志、做好日志!!!