CN108093086B - 一种服务网关的数据传输方法及系统 - Google Patents

一种服务网关的数据传输方法及系统 Download PDF

Info

Publication number
CN108093086B
CN108093086B CN201810057320.9A CN201810057320A CN108093086B CN 108093086 B CN108093086 B CN 108093086B CN 201810057320 A CN201810057320 A CN 201810057320A CN 108093086 B CN108093086 B CN 108093086B
Authority
CN
China
Prior art keywords
end server
request
load balancing
balancing distribution
distribution request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810057320.9A
Other languages
English (en)
Other versions
CN108093086A (zh
Inventor
邱帅兵
徐长龙
任文越
王崇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weimeng Chuangke Network Technology China Co Ltd
Original Assignee
Weimeng Chuangke Network Technology China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Weimeng Chuangke Network Technology China Co Ltd filed Critical Weimeng Chuangke Network Technology China Co Ltd
Priority to CN201810057320.9A priority Critical patent/CN108093086B/zh
Publication of CN108093086A publication Critical patent/CN108093086A/zh
Application granted granted Critical
Publication of CN108093086B publication Critical patent/CN108093086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供了一种服务网关的数据传输方法及系统,该方法包括:当前端业务的客户端向第一后端服务器的待访问接口发送负载均衡分发请求时,各个代理网关通过预定接口针对所述客户端的负载均衡分发请求进行反向代理;各个代理网关将所述客户端的第一网络传输协议转换为各个后端服务器共同支持的第二网络传输协议;基于所述第二网络传输协议,任一代理网关接收所述负载均衡分发请求;所述任一代理网关基于接收到的负载均衡分发请求,将第一后端服务器针对所述负载均衡分发请求的请求结果反馈至所述客户端。通过本发明,能够更好地兼容多种框架同时使用,极大地降低了集成的复杂度;简单、便捷、高效地实现了提高服务网关的可用性。

Description

一种服务网关的数据传输方法及系统
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种服务网关的数据传输方法及系统。
背景技术
目前大多数互联网网站开始采用前后端分离技术,前端对后端服务提供的服务进行拼合,后端提供内部公开的服务,以此达到能力共享。此种前后端分离方式能够保证业务服务的独立性,并通过此前后端分离的架构分层方式降低业务复杂度,使得服务更加独立,更便于管理。一般情况下,前端请求后端都是通过Http(HyperText Transfer Protocol,超文本传输协议)协议或自定义协议,如Protobuff(谷歌的一种数据交换的格式)协议通讯,来实现方便地使用后端提供的各种服务;互联网对外服务大多数都对响应速度有着严格的要求,每一次用户调用必须在极短的时间内,如半秒内,就处理完毕并将结果反馈给用户,为了提高服务的可维护性,现有技术中对前后端做了分离,但是一些复杂业务往往请求一次,就会调用后端服务多次,现有技术对前后端做了分离,虽然是内网访问但是由于网络的不确定性往往会导致接口响应速度并不是恒定在一定范围内,大多数情况都会导致网络响应时间上下浮动,甚至由于某台服务器故障影响大大延迟了请求响应结果的时间。由于实际使用过程中往往出现DNS超时、网络抖动、接口临时阻塞、个别服务请求不可达、网络请求链路不是最优等情况,这些情况直接导致了依赖这些服务的接口工作状态不稳定,从而影响服务的整体服务质量,为此很多分布式RPC(Remote Procedure Call,远程过程调用)提供了一些策略用来提高分布式服务的稳定性,如:
1、快速失败:请求一旦超时马上断开连接再次发送请求,以此杜绝卡住不动问题;
2、请求链路策略:自动根据多个网络情况,优化连接服务器,根据某客户端请求某API(Application Programming Interface,应用程序编程接口)服务器状态,统计进行分析调整;
3、服务质量上报:定期上报某服务器请求某API服务器状态;
4、服务发现:动态摘除宕机的服务器,服务器自动注册加入集群。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:以上技术基本解决了大部分问题,但是有些情况是无法解决的,如果这些项目不是使用统一的复杂的RPC平台的时候,以上大多数多功能是无法实现的;另外,很多RPC支撑是复杂的、庞大的,往往一个大型公司内不是所有部门都使用这个框架来工作,所以常见的大型公司内网API相互之间也提供多个协议供其它未接入此协议的部门使用,如Http+JSON(JavaScript ObjectNotation,JS对象标记)方式的API服务,但是对此类服务就很难监控及优化,从而较难提高分布式服务的稳定性。
发明内容
本发明实施例提供一种服务网关的数据传输方法及系统,简单、便捷、高效地实现了提高服务网关的可用性。
一方面,本发明实施例提供了一种服务网关的数据传输方法,包括:
当前端业务的客户端向第一后端服务器的待访问接口发送负载均衡分发请求时,各个代理网关通过预定接口针对所述客户端的负载均衡分发请求进行反向代理;
各个代理网关将所述客户端的第一网络传输协议转换为各个后端服务器共同支持的第二网络传输协议;
基于所述第二网络传输协议,任一代理网关接收所述负载均衡分发请求;
所述任一代理网关基于接收到的负载均衡分发请求,将第一后端服务器针对所述负载均衡分发请求的请求结果反馈至所述客户端。
另一方面,本发明实施例提供了一种服务网关的数据传输系统,包括多个代理网关和多个后端服务器,其中:
所述多个代理网关中的各个代理网关,用于当前端业务的客户端向第一后端服务器的待访问接口发送负载均衡分发请求时,针对所述客户端的负载均衡分发请求进行反向代理;将所述客户端的第一网络传输协议转换为各个后端服务器共同支持的第二网络传输协议;
所述多个代理网关中的任一代理网关,用于基于所述第二网络传输协议,接收所述负载均衡分发请求;基于接收到的负载均衡分发请求,将第一后端服务器针对所述负载均衡分发请求的请求结果反馈至所述客户端;
所述第一后端服务器,用于针对所述负载均衡分发请求提供请求结果。
上述技术方案具有如下有益效果:通过本发明客户端无需使用过于复杂的框架即可实现接口的高可用策略,同时,能够更好地兼容多种框架同时使用,极大地降低了集成的复杂度,实现了仅使用一个协议即可使用大量公用服务的协议;简单、便捷、高效地实现了提高服务网关的可用性,进一步地,极大地节约了开发时间,从而降低了开发成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例中一种服务网关的数据传输方法流程图;
图2为本发明另一实施例中一种服务网关的数据传输系统结构示意图;
图3为本发明一优选实施例中网站系统架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例中一种服务网关的数据传输方法流程图,包括:
101、当前端业务的客户端向第一后端服务器的待访问接口发送负载均衡分发请求时,各个代理网关通过预定接口针对所述客户端的负载均衡分发请求进行反向代理;
102、各个代理网关将所述客户端的第一网络传输协议转换为各个后端服务器共同支持的第二网络传输协议;
103、基于所述第二网络传输协议,任一代理网关接收所述负载均衡分发请求;
104、所述任一代理网关基于接收到的负载均衡分发请求,将第一后端服务器针对所述负载均衡分发请求的请求结果反馈至所述客户端。
优选地,所述任一代理网关基于接收到的负载均衡分发请求,将第一后端服务器针对所述负载均衡分发请求的请求结果反馈至所述客户端,具体包括:
所述任一代理网关判断所述负载均衡分发请求中的待访问接口是否为预定缓存接口;
若是,所述任一代理网关判断所述第一后端服务器中是否已缓存针对所述负载均衡分发请求的请求结果;
若未缓存,所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端,以及所述第一后端服务器缓存所述请求结果;
若已缓存,所述任一代理网关将所述第一后端服务器中已缓存的所述请求结果直接反馈至所述客户端。
优选地,所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端,具体包括:
所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器,并监控在预定时间段内第一后端服务器是否返回请求结果;
当监控到在预定时间段内第一后端服务器返回请求结果时,所述任一代理网关将所述请求结果反馈至所述客户端。
可选地,所述方法还包括:
当监控到在预定时间段内第一后端服务器未返回请求结果时,所述任一代理网关结束向第一后端服务器的待访问接口发送负载均衡分发请求,并向第二后端服务器中与所述待访问接口功能相同的接口发送负载均衡分发请求;或
当监控到在预定时间段内第一后端服务器未返回请求结果时,基于负载均衡分发请求的预定重发次数,所述任一代理网关再次将所述负载均衡分发请求下发至第一后端服务器,并监控在预定时间段内第一后端服务器是否返回请求结果;直至第一后端服务器返回请求结果或达到所述负载均衡分发请求的预定重发次数为止。
优选地,后端服务器的待访问接口的状态包括已关闭和可访问;当某一代理网关成功关闭某一后端服务器的待访问接口后,当前代理网关向其他代理网关发送预定消息格式的反馈消息;
所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器之前,还包括:
所述任一代理网关确认所述第一后端服务器的待访问接口可访问;
以及,所述方法还包括:
若任一代理网关确认所述第一后端服务器的待访问接口已关闭,则向第二后端服务器中与所述待访问接口具有相同功能的接口发送负载均衡分发请求。
可选地,所述方法还包括:
预创建统计控制中心;
当某一代理网关成功关闭某一后端服务器的待访问接口后,当前代理网关将成功关闭当前后端服务器的待访问接口的消息上报至所述统计控制中心;以及
当前代理网关以预定的测试频率测试当前后端服务器的待访问接口是否恢复可访问。
可选地,所述方法还包括:
针对每一个后端服务器,代理网关以预定的请求频率向当前后端服务器的预定待访问接口发送预定请求类型的负载均衡分发请求;
若当前后端服务器未在预定时间段内返回请求结果,确定当前后端服务器在处理所述预定请求类型的负载均衡分发请求时产生网络抖动;
所述代理网关禁止当前后端服务器接收所述预定请求类型的负载均衡分发请求;
其中,负载均衡分发请求的请求类型包括轮询请求、加权轮询请求、网络之间互连的协议IP哈希请求和第三方请求。
可选地,所述方法还包括:
预创建预定脚本语言的脚本解析引擎;
通过所述脚本解析引擎设置所述负载均衡分发请求的分发规则;
其中,所述当接收到前端业务的客户端向第一后端服务器的待访问接口发送负载均衡分发请求时,各个代理网关通过预定接口针对所述客户端的负载均衡分发请求进行反向代理,具体包括:
通过所述脚本解析引擎拦截前端业务的客户端向第一后端服务器的待访问接口发送的负载均衡分发请求,并对拦截到的所述负载均衡分发请求进行封装;
向第一后端服务器的待访问接口发送封装后的负载均衡分发请求;
所述方法还包括:
若所述任一代理网关监控到第一后端服务器未返回请求结果时,通过所述脚本解析引擎预定的重试代理网关再次将封装后的负载均衡分发请求下发至第一后端服务器。
可选地,所述方法还包括:
预创建域名系统DNS;
各个代理网关缓存所述DNS动态指向的服务器列表,所述服务器列表中记录各个后端服务器;
通过所述DNS添加后端服务器;
其中,所述DNS动态指向的服务器列表通过预定获取频率异步获取。
可选地,所述方法还包括:
在预定接收时间内,当接收到前端业务的客户端向第一后端服务器的待访问接口发送的多个负载均衡分发请求时,将所述多个负载均衡分发请求合并至同一请求连接;
其中,所述任一代理网关将所述负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端,具体包括:
所述任一代理网关将所述多个负载均衡分发请求通过所述请求连接并发下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端。
如图2所示,为本发明另一实施例中一种服务网关的数据传输系统,包括多个代理网关21和多个后端服务器22,其中:
所述多个代理网关中的各个代理网关,用于当前端业务的客户端向第一后端服务器的待访问接口发送负载均衡分发请求时,针对所述客户端的负载均衡分发请求进行反向代理;将所述客户端的第一网络传输协议转换为各个后端服务器共同支持的第二网络传输协议;
所述多个代理网关中的任一代理网关,用于基于所述第二网络传输协议,接收所述负载均衡分发请求;基于接收到的负载均衡分发请求,将第一后端服务器针对所述负载均衡分发请求的请求结果反馈至所述客户端;
所述第一后端服务器,用于针对所述负载均衡分发请求提供请求结果。
优选地,所述任一代理网关,具体用于判断所述负载均衡分发请求中的待访问接口是否为预定缓存接口;若是,判断所述第一后端服务器中是否已缓存针对所述负载均衡分发请求的请求结果;若未缓存,将接收到的负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端;若已缓存,将所述第一后端服务器中已缓存的所述请求结果直接反馈至所述客户端;
以及,所述第一后端服务器,具体用于若未缓存针对所述负载均衡分发请求的请求结果,则接收所述任一代理网关下发的负载均衡分发请求,生成请求结果返回给所述任一代理网关,并缓存所述请求结果。
优选地,所述任一代理网关,具体用于将接收到的负载均衡分发请求下发至第一后端服务器,并监控在预定时间段内第一后端服务器是否返回请求结果;当监控到在预定时间段内第一后端服务器返回请求结果时,将所述请求结果反馈至所述客户端。
优选地,所述任一代理网关,还用于当监控到在预定时间段内第一后端服务器未返回请求结果时,结束向第一后端服务器的待访问接口发送负载均衡分发请求,并向第二后端服务器中与所述待访问接口功能相同的接口发送负载均衡分发请求;或
当监控到在预定时间段内第一后端服务器未返回请求结果时,基于负载均衡分发请求的预定重发次数,再次将所述负载均衡分发请求下发至第一后端服务器,并监控在预定时间段内第一后端服务器是否返回请求结果;直至第一后端服务器返回请求结果或达到所述负载均衡分发请求的预定重发次数为止。
优选地,后端服务器的待访问接口的状态包括已关闭和可访问;
所述代理网关,还用于当成功关闭某一后端服务器的待访问接口后,向其他代理网关发送预定消息格式的反馈消息;
所述任一代理网关,还用于将接收到的负载均衡分发请求下发至第一后端服务器之前,确认所述第一后端服务器的待访问接口可访问;以及,若确认所述第一后端服务器的待访问接口已关闭,则向第二后端服务器中与所述待访问接口具有相同功能的接口发送负载均衡分发请求。
可选地,所述系统还包括统计控制中心,其中:
所述代理网关,还用于当成功关闭某一后端服务器的待访问接口后,将成功关闭当前后端服务器的待访问接口的消息上报至所述统计控制中心;以及,以预定的测试频率测试当前后端服务器的待访问接口是否恢复可访问;
所述统计控制中心,用于统计各个后端服务器的待访问接口的状态。
可选地,所述代理网关,还用于针对每一个后端服务器,以预定的请求频率向当前后端服务器的预定待访问接口发送预定请求类型的负载均衡分发请求;若当前后端服务器未在预定时间段内返回请求结果,确定当前后端服务器在处理所述预定请求类型的负载均衡分发请求时产生网络抖动;禁止当前后端服务器接收所述预定请求类型的负载均衡分发请求;
其中,负载均衡分发请求的请求类型包括轮询请求、加权轮询请求、网络之间互连的协议IP哈希请求和第三方请求。
可选地,所述代理网关中还包括预定脚本语言的脚本解析引擎:
所述脚本解析引擎,用于设置所述负载均衡分发请求的分发规则;
其中,所述各个代理网关,具体用于通过所述脚本解析引擎拦截前端业务的客户端向第一后端服务器的待访问接口发送的负载均衡分发请求,并对拦截到的所述负载均衡分发请求进行封装;向第一后端服务器的待访问接口发送封装后的负载均衡分发请求;
所述任一代理网关,还用于若监控到第一后端服务器未返回请求结果时,通过所述脚本解析引擎预定的重试代理网关再次将封装后的负载均衡分发请求下发至第一后端服务器。
可选地,所述系统还包括域名系统DNS,其中:
所述代理网关,还用于缓存所述DNS动态指向的服务器列表,所述服务器列表中记录各个后端服务器;通过所述DNS添加后端服务器;
其中,所述DNS动态指向的服务器列表通过预定获取频率异步获取。
可选地,所述各个代理网关,还用于在预定接收时间内,当接收到前端业务的客户端向第一后端服务器的待访问接口发送的多个负载均衡分发请求时,将多个负载均衡分发请求合并至同一请求连接;
所述任一代理网关,具体用于将所述多个负载均衡分发请求通过所述请求连接并发下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端。
本发明实施例上述技术方案具有如下有益效果:通过本发明客户端无需使用过于复杂的框架即可实现接口的高可用策略,同时,能够更好地兼容多种框架同时使用,极大地降低了集成的复杂度,实现了仅使用一个协议即可使用大量公用服务的协议;简单、便捷、高效地实现了提高服务网关的可用性,进一步地,极大地节约了开发时间,从而降低了开发成本。
以下结合应用实例对本发明实施例上述技术方案进行详细说明:
本发明应用实例旨在简单、便捷、高效地实现提高服务网关的可用性。
如图1所示,例如,在网站A中,后端服务器包括后端服务器S1、后端服务器S2、后端服务器S3、后端服务器S4、后端服务器S5、代理网关1、代理网关2和代理网关3;当接收到前端业务的客户端,如客户端U1,向第一后端服务器,如后端服务器S1,的待访问接口,如接口I1,发送负载均衡分发请求时,各个代理网关通过预定接口I1针对客户端U1的负载均衡分发请求进行反向代理,各个代理网关将客户端U1的第一网络传输协议,如MemCache(是一套分布式的高速缓存系统)协议,转换为各个后端服务器共同支持的第二网络传输协议,如HTTP协议;基于HTTP协议,任一代理网关,如与客户端U1和后端服务器S1一一对应的代理网关为代理网关1,接收所述负载均衡分发请求;代理网关1基于接收到的负载均衡分发请求,将后端服务器S1针对该负载均衡分发请求的请求结果反馈至客户端U1。需要说明的是,在本发明实施例中各个客户端与各个代理网关的对应关系,各个代理网关与各个后端服务器的对应关系,可以预先设置,也可通过配置文件预配置,还可以是通过随机的方式确定,优选地,各个客户端与各个代理网关一一对应,各个代理网关与各个后端服务器一一对应。
在一优选实施例中,步骤104所述任一代理网关基于接收到的负载均衡分发请求,将第一后端服务器针对所述负载均衡分发请求的请求结果反馈至所述客户端,具体包括:所述任一代理网关判断所述负载均衡分发请求中的待访问接口是否为预定缓存接口;若是,所述任一代理网关判断所述第一后端服务器中是否已缓存针对所述负载均衡分发请求的请求结果;若未缓存,所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端,以及所述第一后端服务器缓存所述请求结果;若已缓存,所述任一代理网关将所述第一后端服务器中已缓存的所述请求结果直接反馈至所述客户端。
例如,在网站A中,预定缓存接口包括接口I1和接口I2;当接收到前端业务的客户端U1,向后端服务器S1,的待访问接口I1发送负载均衡分发请求时,代理网关1判断该负载均衡分发请求中的待访问接口为预定缓存接口;若是,代理网关1判断后端服务器S1中是否已缓存针对该负载均衡分发请求的请求结果;若未缓存,代理网关1将接收到的负载均衡分发请求下发至后端服务器S1,并将后端服务器S1返回的请求结果反馈至客户端U1,以及后端服务器S1缓存该请求结果;若已缓存,代理网关1将后端服务器S1中已缓存的请求结果直接反馈至客户端U1。
在一优选实施例中,所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端,具体包括:所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器,并监控在预定时间段内第一后端服务器是否返回请求结果;当监控到在预定时间段内第一后端服务器返回请求结果时,所述任一代理网关将所述请求结果反馈至所述客户端。
例如,在网站A中,当接收到前端业务的客户端U1,向第一后端服务器,如后端服务器S1,的待访问接口I1发送负载均衡分发请求时,各个代理网关通过预定接口I1针对客户端U1的负载均衡分发请求进行反向代理;各个代理网关将客户端U1的网络传输协议MemCache协议转换为各个后端服务器共同支持的网络传输协议HTTP协议;基于HTTP协议,代理网关1接收该负载均衡分发请求;随后,代理网关1将该负载均衡分发请求下发至后端服务器S1,并监控在预定时间段内,如10秒内,后端服务器S1是否返回请求结果;当监控到在预定时间段内后端服务器S1返回请求结果时,代理网关1将该请求结果反馈至客户端U1。
在一优选实施例中,所述方法还包括:当监控到在预定时间段内第一后端服务器未返回请求结果时,所述任一代理网关结束向第一后端服务器的待访问接口发送负载均衡分发请求,并向第二后端服务器中与所述待访问接口功能相同的接口发送负载均衡分发请求;或当监控到在预定时间段内第一后端服务器未返回请求结果时,基于负载均衡分发请求的预定重发次数,所述任一代理网关再次将所述负载均衡分发请求下发至第一后端服务器,并监控在预定时间段内第一后端服务器是否返回请求结果;直至第一后端服务器返回请求结果或达到所述负载均衡分发请求的预定重发次数为止。
例如,在网站A中,当接收到前端业务的客户端U1,向第一后端服务器,如后端服务器S1,的待访问接口I1发送负载均衡分发请求后,代理网关1将该负载均衡分发请求下发至后端服务器S1,并监控在预定时间段内,如10秒内,后端服务器S1是否返回请求结果,当监控到在10秒内后端服务器S1未返回请求结果时,代理网关1结束向后端服务器S1的待访问接口I1发送负载均衡分发请求,并向第二后端服务器,如后端服务器S2,中与待访问接口I1功能相同的接口发送负载均衡分发请求;或当监控到在10秒内后端服务器S1未返回请求结果时,基于负载均衡分发请求的预定重发次数,如1次,代理网关1再次将该负载均衡分发请求下发至后端服务器S1,并监控在10秒内后端服务器S1是否返回请求结果;若后端服务器S1返回请求结果,代理网关1停止将该负载均衡分发请求下发至后端服务器S1,若后端服务器S1未返回请求结果,由于达到该负载均衡分发请求的预定重发次数,代理网关1停止将该负载均衡分发请求下发至后端服务器S1。
在一优选实施例中,后端服务器的待访问接口的状态包括已关闭和可访问;当某一代理网关成功关闭某一后端服务器的待访问接口后,当前代理网关向其他代理网关发送预定消息格式的反馈消息;所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器之前,还包括:所述任一代理网关确认所述第一后端服务器的待访问接口可访问;以及,所述方法还包括:若任一代理网关确认所述第一后端服务器的待访问接口已关闭,则向第二后端服务器中与所述待访问接口具有相同功能的接口发送负载均衡分发请求。
例如,在网站A中,后端服务器的待访问接口的状态包括已关闭和可访问;当某一代理网关,如代理网关2成功关闭某一后端服务器,如后端服务器S1的待访问接口I1后,代理网关2向其他代理网关,如代理网关1、代理网关3、代理网关4和代理网关5发送预定消息格式的反馈消息;当前端业务的客户端U1向后端服务器S1的待访问接口I1发送负载均衡分发请求时,代理网关1确认后端服务器S1的待访问接口I1可访问;以及,若代理网关1确认后端服务器S1的待访问接口I1已关闭,则向第二后端服务器,如后端服务器S2,中与待访问接口I1具有相同功能的接口发送负载均衡分发请求。
在一优选实施例中,该方法还包括:预创建统计控制中心;当某一代理网关成功关闭某一后端服务器的待访问接口后,当前代理网关将成功关闭当前后端服务器的待访问接口的消息上报至所述统计控制中心;以及当前代理网关以预定的测试频率测试当前后端服务器的待访问接口是否恢复可访问。
例如,在网站A中,预创建统计控制中心,当某一代理网关成功关闭某一后端服务器的待访问接口后,如代理网关2关闭后端服务器S1的待访问接口I1后,当前代理网2关将成功关闭当前后端服务器S1的待访问接口I1的消息上报至该统计控制中心;当前代理网关2以预定的测试频率,如10分钟一次,测试当前后端服务器S1的待访问接口是否恢复可访问。
通过本实施例,能够方便地统计后端服务器的错误信息,同时能够监控各个代理网关的使用情况,快速、及时地发现问题并处理,能够实现对后端服务器的降级,避免了向存在故障的后端服务器发送负载均衡分发请求时,无法处理该请求的情况发生。
在一优选实施例中,该方法还包括:针对每一个后端服务器,代理网关以预定的请求频率向当前后端服务器的预定待访问接口发送预定请求类型的负载均衡分发请求;若当前后端服务器未在预定时间段内返回请求结果,确定当前后端服务器在处理所述预定请求类型的负载均衡分发请求时产生网络抖动;所述代理网关禁止当前后端服务器接收所述预定请求类型的负载均衡分发请求。
其中,负载均衡分发请求的请求类型包括轮询请求、加权轮询请求、网络之间互连的协议IP哈希请求和第三方请求。
例如,在网站A中,负载均衡分发请求的请求类型包括轮询请求、加权轮询请求,如weight、网络之间互连的协议IP哈希请求,如ip_hash和第三方请求,如fair,url_hash;针对每一个后端服务器,以预定的请求频率,如每天请求一次,代理网关,如代理网关1向当前后端服务器,如后端服务器S1,的预定待访问接口,如接口I1,发送预定请求类型的负载均衡分发请求;若后端服务器S1未在预定时间段内,如10分钟内,返回请求结果,确定后端服务器S1在处理该预定请求类型,如轮询请求,的负载均衡分发请求时产生网络抖动,随后,禁止后端服务器S1接收轮询请求类型的负载均衡分发请求。
在一优选实施例中,该方法还包括:预创建预定脚本语言的脚本解析引擎;通过所述脚本解析引擎设置所述负载均衡分发请求的分发规则。
其中,所述当接收到前端业务的客户端向第一后端服务器的待访问接口发送负载均衡分发请求时,各个代理网关通过预定接口针对所述客户端的负载均衡分发请求进行反向代理,具体包括:通过所述脚本解析引擎拦截前端业务的客户端向第一后端服务器的待访问接口发送的负载均衡分发请求,并对拦截到的所述负载均衡分发请求进行封装;向第一后端服务器的待访问接口发送封装后的负载均衡分发请求。
其中,所述方法还包括:若所述任一代理网关监控到第一后端服务器未返回请求结果时,通过所述脚本解析引擎预定的重试代理网关再次将封装后的负载均衡分发请求下发至第一后端服务器。
例如,在网站A中,预创建预定脚本语言的脚本解析引擎,如预创建Lau(是一个小巧的脚本语言)的脚本解析引擎,如L1,通过脚本解析引擎L1设置负载均衡分发请求的分发规则,当接收到前端业务的客户端U1,向后端服务器S1,的待访问接口I1发送负载均衡分发请求后,通过脚本解析引擎L1拦截前端业务的客户端U1向后端服务器S1的待访问接口I1发送的负载均衡分发请求,并对拦截到的该负载均衡分发请求进行封装,随后向后端服务器S1,的待访问接口I1发送封装后的该负载均衡分发请求,若所代理网关1监控到后端服务器S1未返回请求结果时,通过脚本解析引擎L1预定的重试代理网关,如代理网关1,再次将封装后的负载均衡分发请求下发至后端服务器S1。
其中,通过所述脚本解析引擎设置所述负载均衡分发请求的分发规则,具体包括:通过所述脚本解析引擎监控各个后端服务器是否返回请求结果,若未返回请求结果,通过所述脚本解析引擎配置预定负载均衡分发请求的重发次数,通过各个代理网关再次将所述负载均衡分发请求下发至各个后端服务器,同时,在通过各个代理网关再次将所述负载均衡分发请求并发下发至各个后端服务器时,还可以通过所述脚本解析引擎对所述负载均衡分发请求的请求代码进行优化处理后,再通过各个代理网关再次将所述负载均衡分发请求并发下发至各个后端服务器;还可以通过所述脚本解析引擎设置负载均衡分发请求的请求类型;另外,还可以通过所述脚本解析引擎,根据数据访问的流量分配预定的后端服务器。
通过本实施例,实现了用户仅通过简单的操作,如客户端只需要在发送请求的时候修改相应的参数即可达到提高服务网关可用性的目的,实现了通过用最小的代码变更,即可提高后端服务器的高可用性,极大地降低了开发的时间,从而节约了开发的成本;同时,本实施例对使用RPC框架实现的服务高可用、服务降级、负载均衡的不同分发规则都可支持,进一步简单、快速地提高服务网关的高可用性。
在一优选实施例中,该方法还包括:预创建域名系统DNS;各个代理网关缓存所述DNS动态指向的服务器列表,所述服务器列表中记录各个后端服务器;通过所述DNS添加后端服务器。
其中,所述DNS动态指向的服务器列表通过预定获取频率异步获取。
例如,在网站A中,预创建域名系统DNS;通过各个代理网关缓存该DNS动态指向的服务器列表,以减少请求DNS的次数,从而加快数据的访问速度;并通过该DNS实时添加后端服务器,其中,该DNS动态指向的服务器列表的信息通过预定获取频率异步获取。通过本实施例,在处理负载均衡分发请求过程中,若后端服务器发生故障时,根据该DNS动态指向的服务器列表,通过域名系统DNS确定响应所述负载均衡分发请求发生故障的后端服务器的IP地址,同时将该后端服务器发生的错误信息上报至统计控制中心,以实现快速地查找错误原因,其中,网站A的系统架构参考图3的示意图。
在一优选实施例中,该方法还包括:在预定接收时间内,当接收到前端业务的客户端向第一后端服务器的待访问接口发送的多个负载均衡分发请求时,将所述多个负载均衡分发请求合并至同一请求连接。
其中,所述任一代理网关将所述负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端,具体包括:
所述任一代理网关将所述多个负载均衡分发请求通过所述请求连接并发下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端。
例如,在网站A中,当接收到前端业务的客户端U1,向后端服务器S1的待访问接口I1发送负载均衡分发请求和客户端U1向后端服务器S1的待访问接口I2发送负载均衡分发请求时,将接收到的两个负载均衡分发请求合并至同一请求连接,随后,代理网关1将该两个负载均衡分发请求通过该合并后的请求连接下发至后端服务器S1,并将后端服务器S1返回的请求结果反馈至客户端U1。通过本实施例,能够极大地降低前端服务器的资源消耗,从而进一步地加快了数据访问的效率。
需要说明的是,本发明中的实施例中,还可通过各个网关对各个后端服务器的历史响应时间进行统计,确定出历史响应时间高于预定响应时间的第三后端服务器,以便网站维护人员根据统计控制中心已监控到的所述第三后端服务器的数据,确定所述第三后端服务器在数据处理过程中响应时间缓慢的原因,及时修改相应代码,从而进一步地提高了数据访问的效率。实现了通过简单部署各个网关,所有负载均衡分发请求发送到任一网关,该任一网关即可开始工作。
本发明实施例提供了一种服务网关的数据传输系统,可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的盘片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而盘片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (18)

1.一种服务网关的数据传输方法,其特征在于,包括:
当前端业务的客户端向第一后端服务器的待访问接口发送负载均衡分发请求时,各个代理网关通过预定接口针对所述客户端的负载均衡分发请求进行反向代理;
各个代理网关将所述客户端的第一网络传输协议转换为各个后端服务器共同支持的第二网络传输协议;
基于所述第二网络传输协议,任一代理网关接收所述负载均衡分发请求;
所述任一代理网关基于接收到的负载均衡分发请求,将第一后端服务器针对所述负载均衡分发请求的请求结果反馈至所述客户端,具体包括:
所述任一代理网关判断所述负载均衡分发请求中的待访问接口是否为预定缓存接口;
若是,所述任一代理网关判断所述第一后端服务器中是否已缓存针对所述负载均衡分发请求的请求结果;
若未缓存,所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端,以及所述第一后端服务器缓存所述请求结果;
若已缓存,所述任一代理网关将所述第一后端服务器中已缓存的所述请求结果直接反馈至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端,具体包括:
所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器,并监控在预定时间段内第一后端服务器是否返回请求结果;
当监控到在预定时间段内第一后端服务器返回请求结果时,所述任一代理网关将所述请求结果反馈至所述客户端。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当监控到在预定时间段内第一后端服务器未返回请求结果时,所述任一代理网关结束向第一后端服务器的待访问接口发送负载均衡分发请求,并向第二后端服务器中与所述待访问接口功能相同的接口发送负载均衡分发请求;或
当监控到在预定时间段内第一后端服务器未返回请求结果时,基于负载均衡分发请求的预定重发次数,所述任一代理网关再次将所述负载均衡分发请求下发至第一后端服务器,并监控在预定时间段内第一后端服务器是否返回请求结果;直至第一后端服务器返回请求结果或达到所述负载均衡分发请求的预定重发次数为止。
4.根据权利要求1所述的方法,其特征在于,后端服务器的待访问接口的状态包括已关闭和可访问;当某一代理网关成功关闭某一后端服务器的待访问接口后,当前代理网关向其他代理网关发送预定消息格式的反馈消息;
所述任一代理网关将接收到的负载均衡分发请求下发至第一后端服务器之前,还包括:
所述任一代理网关确认所述第一后端服务器的待访问接口可访问;
以及,所述方法还包括:
若任一代理网关确认所述第一后端服务器的待访问接口已关闭,则向第二后端服务器中与所述待访问接口具有相同功能的接口发送负载均衡分发请求。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
预创建统计控制中心;
当某一代理网关成功关闭某一后端服务器的待访问接口后,当前代理网关将成功关闭当前后端服务器的待访问接口的消息上报至所述统计控制中心;以及
当前代理网关以预定的测试频率测试当前后端服务器的待访问接口是否恢复可访问。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对每一个后端服务器,代理网关以预定的请求频率向当前后端服务器的预定待访问接口发送预定请求类型的负载均衡分发请求;
若当前后端服务器未在预定时间段内返回请求结果,确定当前后端服务器在处理所述预定请求类型的负载均衡分发请求时产生网络抖动;
所述代理网关禁止当前后端服务器接收所述预定请求类型的负载均衡分发请求;
其中,负载均衡分发请求的请求类型包括轮询请求、加权轮询请求、网络之间互连的协议IP哈希请求和第三方请求。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预创建预定脚本语言的脚本解析引擎;
通过所述脚本解析引擎设置所述负载均衡分发请求的分发规则;
其中,所述当前端业务的客户端向第一后端服务器的待访问接口发送负载均衡分发请求时,各个代理网关通过预定接口针对所述客户端的负载均衡分发请求进行反向代理,具体包括:
通过所述脚本解析引擎拦截前端业务的客户端向第一后端服务器的待访问接口发送的负载均衡分发请求,并对拦截到的所述负载均衡分发请求进行封装;
向第一后端服务器的待访问接口发送封装后的负载均衡分发请求;
所述方法还包括:
若所述任一代理网关监控到第一后端服务器未返回请求结果时,通过所述脚本解析引擎预定的重试代理网关再次将封装后的负载均衡分发请求下发至第一后端服务器。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预创建域名系统DNS;
各个代理网关缓存所述DNS动态指向的服务器列表,所述服务器列表中记录各个后端服务器;
通过所述DNS添加后端服务器;
其中,所述DNS动态指向的服务器列表通过预定获取频率异步获取。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在预定接收时间内,当接收到前端业务的客户端向第一后端服务器的待访问接口发送的多个负载均衡分发请求时,将所述多个负载均衡分发请求合并至同一请求连接;
其中,所述任一代理网关将所述负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端,具体包括:
所述任一代理网关将所述多个负载均衡分发请求通过所述请求连接并发下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端。
10.一种服务网关的数据传输系统,其特征在于,包括多个代理网关和多个后端服务器,其中:
所述多个代理网关中的各个代理网关,用于当前端业务的客户端向第一后端服务器的待访问接口发送负载均衡分发请求时,针对所述客户端的负载均衡分发请求进行反向代理;将所述客户端的第一网络传输协议转换为各个后端服务器共同支持的第二网络传输协议;
所述多个代理网关中的任一代理网关,用于基于所述第二网络传输协议,接收所述负载均衡分发请求;基于接收到的负载均衡分发请求,将第一后端服务器针对所述负载均衡分发请求的请求结果反馈至所述客户端;
所述第一后端服务器,用于针对所述负载均衡分发请求提供请求结果;
其中:
所述任一代理网关,具体用于判断所述负载均衡分发请求中的待访问接口是否为预定缓存接口;若是,判断所述第一后端服务器中是否已缓存针对所述负载均衡分发请求的请求结果;若未缓存,将接收到的负载均衡分发请求下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端;若已缓存,将所述第一后端服务器中已缓存的所述请求结果直接反馈至所述客户端;
以及,所述第一后端服务器,具体用于若未缓存针对所述负载均衡分发请求的请求结果,则接收所述任一代理网关下发的负载均衡分发请求,生成请求结果返回给所述任一代理网关,并缓存所述请求结果。
11.根据权利要求10所述的系统,其特征在于,
所述任一代理网关,具体用于将接收到的负载均衡分发请求下发至第一后端服务器,并监控在预定时间段内第一后端服务器是否返回请求结果;当监控到在预定时间段内第一后端服务器返回请求结果时,将所述请求结果反馈至所述客户端。
12.根据权利要求11所述的系统,其特征在于,
所述任一代理网关,还用于当监控到在预定时间段内第一后端服务器未返回请求结果时,结束向第一后端服务器的待访问接口发送负载均衡分发请求,并向第二后端服务器中与所述待访问接口功能相同的接口发送负载均衡分发请求;或
当监控到在预定时间段内第一后端服务器未返回请求结果时,基于负载均衡分发请求的预定重发次数,再次将所述负载均衡分发请求下发至第一后端服务器,并监控在预定时间段内第一后端服务器是否返回请求结果;直至第一后端服务器返回请求结果或达到所述负载均衡分发请求的预定重发次数为止。
13.根据权利要求10所述的系统,其特征在于,后端服务器的待访问接口的状态包括已关闭和可访问;
所述代理网关,还用于当成功关闭某一后端服务器的待访问接口后,向其他代理网关发送预定消息格式的反馈消息;
所述任一代理网关,还用于将接收到的负载均衡分发请求下发至第一后端服务器之前,确认所述第一后端服务器的待访问接口可访问;以及,若确认所述第一后端服务器的待访问接口已关闭,则向第二后端服务器中与所述待访问接口具有相同功能的接口发送负载均衡分发请求。
14.根据权利要求13所述的系统,其特征在于,所述系统还包括统计控制中心,其中:
所述代理网关,还用于当成功关闭某一后端服务器的待访问接口后,将成功关闭当前后端服务器的待访问接口的消息上报至所述统计控制中心;以及,以预定的测试频率测试当前后端服务器的待访问接口是否恢复可访问;
所述统计控制中心,用于统计各个后端服务器的待访问接口的状态。
15.根据权利要求10所述的系统,其特征在于,
所述代理网关,还用于针对每一个后端服务器,以预定的请求频率向当前后端服务器的预定待访问接口发送预定请求类型的负载均衡分发请求;若当前后端服务器未在预定时间段内返回请求结果,确定当前后端服务器在处理所述预定请求类型的负载均衡分发请求时产生网络抖动;禁止当前后端服务器接收所述预定请求类型的负载均衡分发请求;
其中,负载均衡分发请求的请求类型包括轮询请求、加权轮询请求、网络之间互连的协议IP哈希请求和第三方请求。
16.根据权利要求10所述的系统,其特征在于,所述代理网关中还包括预定脚本语言的脚本解析引擎:
所述脚本解析引擎,用于设置所述负载均衡分发请求的分发规则;
其中,所述各个代理网关,具体用于通过所述脚本解析引擎拦截前端业务的客户端向第一后端服务器的待访问接口发送的负载均衡分发请求,并对拦截到的所述负载均衡分发请求进行封装;向第一后端服务器的待访问接口发送封装后的负载均衡分发请求;
所述任一代理网关,还用于若监控到第一后端服务器未返回请求结果时,通过所述脚本解析引擎预定的重试代理网关再次将封装后的负载均衡分发请求下发至第一后端服务器。
17.根据权利要求10所述的系统,其特征在于,所述系统还包括域名系统DNS,其中:
所述代理网关,还用于缓存所述DNS动态指向的服务器列表,所述服务器列表中记录各个后端服务器;通过所述DNS添加后端服务器;
其中,所述DNS动态指向的服务器列表通过预定获取频率异步获取。
18.根据权利要求10所述的系统,其特征在于,
所述各个代理网关,还用于在预定接收时间内,当接收到前端业务的客户端向第一后端服务器的待访问接口发送的多个负载均衡分发请求时,将多个负载均衡分发请求合并至同一请求连接;
所述任一代理网关,具体用于将所述多个负载均衡分发请求通过所述请求连接并发下发至第一后端服务器,并将第一后端服务器返回的请求结果反馈至所述客户端。
CN201810057320.9A 2018-01-22 2018-01-22 一种服务网关的数据传输方法及系统 Active CN108093086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810057320.9A CN108093086B (zh) 2018-01-22 2018-01-22 一种服务网关的数据传输方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810057320.9A CN108093086B (zh) 2018-01-22 2018-01-22 一种服务网关的数据传输方法及系统

Publications (2)

Publication Number Publication Date
CN108093086A CN108093086A (zh) 2018-05-29
CN108093086B true CN108093086B (zh) 2021-03-23

Family

ID=62183238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810057320.9A Active CN108093086B (zh) 2018-01-22 2018-01-22 一种服务网关的数据传输方法及系统

Country Status (1)

Country Link
CN (1) CN108093086B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194749B (zh) * 2018-09-11 2021-08-03 福建天泉教育科技有限公司 监听网络请求的方法、存储介质
CN109871498B (zh) * 2018-12-15 2024-04-02 中国平安人寿保险股份有限公司 后端接口响应方法、装置、电子设备及存储介质
CN111131397B (zh) * 2019-12-02 2022-09-30 京东科技信息技术有限公司 应用管理方法及系统、网关平台、服务端、存储介质
CN111338829B (zh) * 2020-03-26 2023-09-15 口碑(上海)信息技术有限公司 远程过程调用服务的调用方法及装置
CN112365179A (zh) * 2020-11-23 2021-02-12 中盈优创资讯科技有限公司 一种大批量数据开通监控方法和装置
CN113114765A (zh) * 2021-04-13 2021-07-13 成都九洲电子信息系统股份有限公司 一种基于反向代理的接口调用系统
CN114070853A (zh) * 2021-11-15 2022-02-18 网易(杭州)网络有限公司 沉浸式活动系统及其应用方法和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420455A (zh) * 2007-08-30 2009-04-29 软件Ag公司 反向http网关数据传输系统和/或方法及其网络
CN105872024A (zh) * 2016-03-25 2016-08-17 盛趣信息技术(上海)有限公司 容灾设备、系统及方法
CN106210058A (zh) * 2016-07-13 2016-12-07 成都知道创宇信息技术有限公司 一种多核并行的反向代理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284030B2 (en) * 2002-09-16 2007-10-16 Network Appliance, Inc. Apparatus and method for processing data in a network
US10362059B2 (en) * 2014-09-24 2019-07-23 Oracle International Corporation Proxy servers within computer subnetworks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420455A (zh) * 2007-08-30 2009-04-29 软件Ag公司 反向http网关数据传输系统和/或方法及其网络
CN105872024A (zh) * 2016-03-25 2016-08-17 盛趣信息技术(上海)有限公司 容灾设备、系统及方法
CN106210058A (zh) * 2016-07-13 2016-12-07 成都知道创宇信息技术有限公司 一种多核并行的反向代理方法

Also Published As

Publication number Publication date
CN108093086A (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
CN108093086B (zh) 一种服务网关的数据传输方法及系统
US20200389406A1 (en) System for bandwidth optimization with traffic priority determination
WO2021142867A1 (zh) 一种dns服务器选择方法和代理服务器
CN109067914B (zh) Web服务的代理方法、装置、设备及存储介质
US11582163B2 (en) System for early system resource constraint detection and recovery
US10791201B2 (en) Server initiated multipath content delivery
US8301778B2 (en) Service provider registration by a content broker
WO2017097123A1 (zh) 访问请求转换的方法和装置
US9781012B2 (en) Behavior monitoring and compliance for multi-tenant resources
WO2016145753A1 (zh) 基于内容分发网络的移动终端流量处理方法、装置及系统
US9172765B2 (en) Polling-based secure network message notification system and method with performance enhancing features
US20140143375A1 (en) Methods for optimizing service of content requests and devices thereof
US10645183B2 (en) Redirection of client requests to multiple endpoints
US12095669B2 (en) Method and apparatus for traffic detection
EP4154474A1 (en) Service producer health-check
US20110113131A1 (en) Method of Load Balance Based on BS Architecture
CN108989420A (zh) 注册服务的方法及系统、调用服务的方法及系统
US9813317B2 (en) Self-localizing data distribution network
TW201828093A (zh) 訪問請求轉換的方法和裝置
CN113157456A (zh) 一种适用于云环境的分布式无状态半开扫描方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant