×

深圳网站建设—APP开发—网站制作—小程序开发_博纳网络公司

0755 -
82538016
82560826
网站制作资讯

大型数据类网站设计怎样解决实时查询与三段超时静态化?

文章编辑:网站建设 文章来源:网站设计 浏览量:

 大型数据类网站设计怎样解决实时查询与三段超时静态化?深圳网站建设公司提醒我们在解决前述数据类型平台时,能静态化的数据要尽量静态化,但远端数据的实时查询还是必不可少的。实时查询如何做到又快又好呢?特别是多数据源、多供应商的实时查询场景。
  我们的国际机票查询就是这样的,前台页面点击查询时实时调用供应商接口,早期我们仅调用一个供应接口,产品比较单一,数据不够丰富。后面引入了多供应商,产品变丰富了,也有了低价、但同时带来了很多新问题,比如供应端接口需要20~30秒,但前端客户只能接受8秒以内,怎么办?提高供应数据门槛?但这不是核心竞争。还有查询速度变慢、外部数据源不可控、数据格式多样等问题。对于以上问题,我们的解决办法是三段超时,所谓三段,即供应端、运营端和客户端。前端满足客人、中间满足运营控制策略、后端满足供应商,三方都要满意,这样才能使产品更丰富、价格更低、运营策略更灵活、用户响应更及时。三段超时的时间可以根据具体场景进行配置,具体如下图所示。
  供应端超时:供应端是后端,是指提供数据源的一方,供应端存在的问题就是外部不可控。供应端处于数据来源的底端,解决办法是尽量加大供应端的超时时间限制。我们对请求供应接口的最大HTTP超时时间设置为45秒,这个值可以满足绝大部分情况。运营端超时:运营端是中间端,获取供应商的数据之后,做包装转换、去重、政策匹配
等业务处理。我们先统计每一个供应接口的请求时间,确认供应接口数据的质量和优先级。
  比如A供应数据的质量相比B和C供应数据的质量要高,那么A的请求级别可以设置得高一些。我们优先考虑获取A供应的数据,如果A的数据在8秒内就返回,而B和C的超过这个时间,那么此时在前台就只把A的数据返回给客户。对于B和C的数据,由于在HTTP请求时我们采用异步并设置了较大的供应端超时,所以它会在A返回之后,继续异步请求并将返回的数据保存到缓存中,以供用户下次或其他用户使用。当我们获取了多供应商的产品数据后,这时会有一定重复的数据,需要进行规范化处理,将不同数据格式转换成统一标准,然后去重并选取最优,最后根据运营策略进行政策匹配等。
  客户端超时:客户端是前端,需要处理最终展示和不同终端用户的不同需求。客户端采用多线程异步读取,这样不会影响主线程的速度,同时并发请求,提升响应速度和用户体验。这里的主线程请求时间可以理解为前台终端设备需要等待的时间,比如APP要求8秒内返回,那就设置为8秒;如果PC端B2B白屏网页查询,客户可以等待时间为25秒,那么就设置为25秒。客户端的超时时间要大于或等于所有的运营端超时时间,例如客户端超时是25秒,那么运营端线程A的超时时间最大可以为25秒,如果线程A的绝大部分航线获取时间是18秒,那么线程B和C的超时时间最好不要超过18秒,这里的用户体验要综合考虑概率问题。好了,网站设计公司本文关于“大型数据类网站设计怎样解决实时查询与三段超时静态化?”的相关网站设计开发知识就分享到这里,谢谢关注,博纳网络编辑整理。

当前文章链接:/construction/design/3253.html
如果您觉得案例还不错请帮忙分享:

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。