API 接口设计,批量数据查询


需求:
有两个系统,分别为A和B。
B系统页面显示时,通过相应的API接口,去A系统获取一部分数据。原理是通过CURL的get和post方法去拿去数据。
现在B页面中有个很长的列表,每次显示B页面时都遍历每一个item分别去A系统那数据,这样造成了B页面每次加载都需要很长的时间,并且有时候造成系统上apache 卡死。
说明:
A/B系统在同一台服务器上。
问题:
如何设计比较好的架构,来支持这种并非架构。
如果追溯apache卡死的原因(以检查log,并无异样)

想法:
1.组装数据,通过一次curl的http请求来获取所有这个列表的数据。

期待更多的想法!!

系统设计 curl

GAOOOO 11 years, 11 months ago

1、最好还是走批量的接口,因为毕竟批处理的速度会快很多
2、同一台机器的话,可以考虑不走HTTP协议,有两种方案可取:
2.1 直接从数据源去,A和B在同一台机器上,A能够拿到的数据,B也肯定可以拿到,所以B完全可以自己去取数据。
2.2 如果不能直接取的话,可以考虑两个系统走RPC调用,这样就避免了每次取数据还得走HTTP协议,RPC调用可以直接传输序列化的对象,不用解析HTTP的数据

汐风的幻想 answered 11 years, 11 months ago

Your Answer