[发明专利]一种服务启动请求失败的降低方法在审
申请号: | 202111384822.0 | 申请日: | 2021-11-22 |
公开(公告)号: | CN114064149A | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 牛京;郑晕 | 申请(专利权)人: | 首约科技(北京)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F16/2455 |
代理公司: | 北京世誉鑫诚专利代理有限公司 11368 | 代理人: | 李世端 |
地址: | 100010 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务 启动 请求 失败 降低 方法 | ||
本发明提供的一种服务启动请求失败的降低方法,降低方法包括:服务启动请求需要的组件包括:Nginx服务器、数据库和Redis;Nginx服务器检测服务上线,间隔1~2s请求一次服务,服务启动成功,返回200OK,服务能够正常接收请求,并将请求正常转发;监听应用启动事件;当服务启动成功后,预先建立数据库连接,当接收到请求时,从连接池取出可用连接;预先建立Redis连接,当接收到请求时,直接从连接池取出连接使用;预先建立OKHTTP连接,当接收到请求,直接从连接池中取出连接使用;发布的服务开始稳定运行。通过预建立连接的方式,减少服务启动时请求处理时长,达到降低服务启动时请求失败率的目的,提升用户使用体验。
技术领域
本发明涉及网约车领域,尤其涉及一种服务启动请求失败的降低方法。
背景技术
服务涉及到数据库,第三方接口调用,Redis等基础组件的使用,一起完成某个完整的功能。比如:用户填写完上下车地址后,点击用车这个动作就涉及到以下过程:
客户端APP请求订单系统告知下单请求;订单系统调用用户系统,查询基本情况,将订单数据写入数据库订单表,记录对应订单,然后将订单数据缓存在Redis中,以提高在派单过程中及费用计算时查询订单数据的效率。服务完成后,订单调用计费系统进行费用计算,扣除用户费用。
由于应用服务和DB、Redis不在同一台机器上,甚至不在同一个机房,涉及到HTTP连接建立,第三方调用也是如此,彼此的应用部署在不同的机房,通过HTTP调用进行数据交互。
当收到用户请求时,连接池中无可用连接,再进行HTTP建连,会经历tcp三次握手的阶段,会浪费3次网络往返的时间。前1min左右的请求耗时整体增加50%以上,若整体时长超过上游最大超时时长,一般是2s,就会造成请求失败。造成每次发布新的版本,都会有一部分请求超时失败,用户体验较差,这对于互联网行业来说,是几乎不能容忍的。
现有技术中存在的缺陷包括:服务启动时,DB、Redis等组件连接池中无连接,需要新建,导致请求处理耗时增加;服务启动时,三方请求连接池中无连接,需要新建,导致三方调用耗时增加;服务启动时,请求失败导致用户软件使用体验差。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种服务启动请求失败的降低方法。
根据本发明的一个方面,提供了一种服务启动请求失败的降低方法,所述降低方法包括:
服务启动请求需要的组件包括:Nginx服务器、数据库和Redis;
所述Nginx服务器检测服务上线,间隔1~2s请求一次服务,进行探活请求,服务启动成功,返回200OK,服务能够正常接收请求,并将请求正常转发;
监听应用启动事件;
当服务启动成功后,预先建立数据库连接,当接收到请求时,从连接池取出可用连接;
预先建立所述Redis连接,当接收到请求时,直接从所述连接池取出连接使用;
预先建立OKHTTP连接,当接收到请求,直接从所述连接池中取出连接使用;发布的服务开始稳定运行。
可选的,所述降低方法还包括:
所述连接池连接建立过程中,收到所述Nginx服务器探活请求,不响应,所述Nginx服务器识别为服务还未上线,不转发流量到新发布的服务器,只将流量转发到已稳定运行的服务器;
所述连接池连接建立完成,收到所述Nginx服务器探活请求时,返回Nginx200OK,告知服务已准备完成,接受请求,所述Nginx服务器收到200响应,开始正常进行流量转发。
可选的,所述预先建立所述Redis连接,当接收到请求时,直接从所述连接池取出连接使用之后还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于首约科技(北京)有限公司,未经首约科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111384822.0/2.html,转载请声明来源钻瓜专利网。