请问一下各位, 现有的网络框架中,存不存在一种能通过接口响应时长,来控制接口调用并发数的解决方案。 具体业务场景如下: A 系统在调用 B 平台的接口 X 时,出现一个问题:B 平台的接口 X 会被多个业务方调用,由于 B 平台的性能问题,同一时间内支持的并发数是有限的,如果在业务繁忙期频繁调用,响应会明显变慢。 而对于 A 系统业务来说,每一天调用这个接口的次数 10 万~100 万这个量级,而且集中在早上 5 点至 9 点之间完成。对于该接口所在平台来说,我们的调用方式对系统的压力较大,故暂时约定我们的请求接口个数为 100 次 /s。
这种临时方案存在着问题,故现在想了一个解决方案,即 B 平台侧给定一个正常的响应时间,例如 100ms,A 系统异步调用 B 平台的 X 接口,如果响应时长低于 100ms,则提高请求频率;如果响应时长高于 100ms,则降低请求频率,达到动态设置请求频率的效果。
为了避免重复造轮子,也由于经验不足,故请求各位是否已有现有的解决方案?当前 A 系统是通过 AsyncHttpClient 的形式异步请求调用接口的。
附上之前搜索方案找到的几个网络框架: https://www.jianshu.com/p/35fdb2a1cded
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.