猿问

请问需要频繁的调用一个不稳定的回应慢的接口应该怎么设计比较好?

现在小弟在做一个校验系统的流程,从本地获取到一个list的表单,然后需要遍历这个表单以NO号为参数从一个接口A获取原始数据然后来校验。
现在的情况是
1.这个接口A很不稳定,经常会挂掉
2.每天的数据量还蛮大的大概有3w左右的No需要调用。接口A返回数据很慢,处理完一条在1s左右。所以这个系统必须避开高峰在规定时间内完成,当然是越快越好。
想请问这种情况应该怎么设计比较好呢。
可以考虑多线程,和缓存(因为校验是一次性的,所以在校验完之后缓存是没多大意义的)。
再次感谢。
墨色风雨
浏览 445回答 2
2回答

ibeautiful

我有类似经历,我是这么做的:httpd接受订单以后记录在数据库的订单表,后台另起一个守护进程每5分钟刷一次订单表,若有,则使用巨慢无比而不稳定的smtp协议,合并订单后,尝试发送给我设置好的若干个邮箱之一,然后在邮箱之间设置邮件转发。一切运转良好。语文没学好,重新审查了一遍题目,和原来的理解有些不同。现在仍不清楚题主的表述,你是要当场返回验证结果?或是离线批处理查询远程api?举个栗子:假设你在公司内网的订单系统里增加查询快递单号的功能,这时,你已经有了一个order表单,然后遍历快递单号,逐一查询远程接口。我会先查看该api的文档,有没有批量查询的方法,比如发送一大串json数组。若没有,你只能逐条查询了,别无他法,不过,你可以用curl构造自己的httpheader,节省点包尺寸。除此之外,别无他法了。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答