makemytrip 等网站从不同的航空公司 API 提供商(如 jetairways、indigo 等)获取航班预订详细信息。
当我们访问那里的主页时,我们会看到各个航空公司的航班预订详细信息。
由于无法缓存此信息。假设可以有 10k - 20k 的航空公司 api 提供者在主页/搜索页面上显示数据,他们将如何对所有这些 api 提供者进行休息调用。
1) 每当我们访问主页/搜索页面时,他们会并发调用所有这些 api 提供程序以获取数据吗?
但是考虑到池中的线程数量,这将需要时间来获取数据并将它们映射到响应对象中,这将导致页面加载时间延迟。
2)如果我们考虑将这些数据存储在弹性搜索等搜索引擎中,这甚至无济于事,因为数据不是最新的。
即使我们考虑有一个“调度程序工作”,它会每隔 5 分钟对 API 提供者进行一次休息调用,以获取最新数据并存储在 Elastic 搜索中。这将在 5 分钟的跨度时间内显示陈旧的数据。