现在小弟在做一个校验系统的流程,从本地获取到一个list的表单,然后需要遍历这个表单以NO号为参数从一个接口A获取原始数据然后来校验。现在的情况是1.这个接口A很不稳定,经常会挂掉2.每天的数据量还蛮大的大概有3w左右的No需要调用。接口A返回数据很慢,处理完一条在1s左右。所以这个系统必须避开高峰在规定时间内完成,当然是越快越好。想请问这种情况应该怎么设计比较好呢。可以考虑多线程,和缓存(因为校验是一次性的,所以在校验完之后缓存是没多大意义的)。再次感谢。
2 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
我有类似经历,我是这么做的:httpd接受订单以后记录在数据库的订单表,后台另起一个守护进程每5分钟刷一次订单表,若有,则使用巨慢无比而不稳定的smtp协议,合并订单后,尝试发送给我设置好的若干个邮箱之一,然后在邮箱之间设置邮件转发。一切运转良好。语文没学好,重新审查了一遍题目,和原来的理解有些不同。现在仍不清楚题主的表述,你是要当场返回验证结果?或是离线批处理查询远程api?举个栗子:假设你在公司内网的订单系统里增加查询快递单号的功能,这时,你已经有了一个order表单,然后遍历快递单号,逐一查询远程接口。我会先查看该api的文档,有没有批量查询的方法,比如发送一大串json数组。若没有,你只能逐条查询了,别无他法,不过,你可以用curl构造自己的httpheader,节省点包尺寸。除此之外,别无他法了。
添加回答
举报
0/150
提交
取消