一、背景
一般情况A服务调用B服务接口,若A传参错误会出现bad request 400现象,但当A和B之间跨机器,跨地域,跨网络或中间经过多个网关,前置则问题较难排查。
A_service, A_corp
B_service, B_corp
二、错误原因
-
请求已经到达server:但无法被server解析
- 参数类型不匹配,如server需要Int,但传递了String类型的"aaa",server解析错误
-
请求参数未到达server
- 这种情况容易忽略
- 比如json格式错误(这个有意思),json格式错误请求发送不出去,但也会报
- 这种情况容易忽略
三、排查过程
1.检查A服务传参是否正确-A_service
2.检查A请求是否传出A所在公司网络(每个公司会有对外网关一类,检查网关是否接收到请求,并传给目地)-A_corp
3.检查B所在公司是否接收到请求-B_corp
4.检查B服务是否接收到请求-B_corp
网友评论