CN106301947A - 业务信息处理系统和方法 - Google Patents
业务信息处理系统和方法 Download PDFInfo
- Publication number
- CN106301947A CN106301947A CN201610795730.4A CN201610795730A CN106301947A CN 106301947 A CN106301947 A CN 106301947A CN 201610795730 A CN201610795730 A CN 201610795730A CN 106301947 A CN106301947 A CN 106301947A
- Authority
- CN
- China
- Prior art keywords
- proxy server
- server
- service request
- service
- registration center
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种业务信息处理系统,所述业务信息处理系统包括:代理服务器,以及与所述代理服务器连接的客户端,所述客户端用于发送的业务请求至代理服务器;所述代理服务器用于根据所述业务请求从注册中心获取服务器的实例;所述代理服务器还用于根据所述代理服务器中预设服务治理策略和所述实例对所述业务请求进行对应的处理。本发明还公开了一种业务信息处理方法。本发明将传统客户端中服务治理策略抽离,设置在代理服务器中,能够减少升级过程中的工作量和风险。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种业务信息处理系统和方法。
背景技术
传统C/S架构的RPC(Remote Procedure Call Protocol,远程过程调用协议)框架,客户端非常臃肿,它需要处理协议的序列化和反序列化,需要处理路由算法、隔离、熔断等服务治理的功能,但服务治理功能会不断的更新,使得客户端的版本也需要不断升级。
由于客户端部署非常庞大,每次客户端升级都会需要业务重新编译打包,然后升级非常多台机器,即使业务代码没有改变,这也需要对升级客户端版本进行升级,导致工作量和风险非常大。
发明内容
本发明的主要目的在于提出一种业务信息处理系统和方法,旨在解决客户端版本升级时,工作量和风险非常大的技术问题。
为实现上述目的,本发明提供的一种业务信息处理系统,所述业务信息处理系统包括:代理服务器,以及与所述代理服务器连接的客户端,
所述客户端用于发送用户触发的业务请求至代理服务器;
所述代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例;
所述代理服务器还用于根据所述代理服务器中预设服务治理策略和所述实例对所述业务请求进行对应的处理。
可选地,所述系统还包括:所述目的服务器,
所述目的服务器用于从配置中心获取配置信息,并从所述安全中心获取安全策略;
所述目的服务器还用于根据所述配置信息和安全策略将自己的地址和端口注册至所述注册中心,并向所述注册中心发送目的服务器的实例。
可选地,所述代理服务器包括本地代理服务器和备份代理服务器,
在所述本地代理服务器正常运行时,所述客户端用于发送用户触发的业务请求至所述本地代理服务器,所述本地代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例;
或在本地代理服务器发生故障时,所述客户端用于发送用户触发的业务请求至所述备份代理服务器,所述备份代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例。
可选地,所述代理服务器还用于对所述业务请求进行解析,获得目的服务器的标识;
所述代理服务器还用于根据目的服务器的标识从注册中心获取目的服务器的实例。
可选地,所述注册中心为基于分布式应用程序协调服务的注册中心。
此外,为实现上述目的,本发明还提供一种业务信息处理方法,所述业务信息处理方法包括:
客户端发送用户触发的业务请求至代理服务器;
所述代理服务器根据所述业务请求从注册中心获取目的服务器的实例;
所述代理服务器根据所述代理服务器中预设服务治理策略和所述实例对所述业务请求进行对应的处理。
可选地,所述根据所述业务请求从注册中心获取目的服务器的实例的步骤之前包括:
目的服务器从配置中心获取配置信息,并从所述安全中心获取安全策略;
目的服务器根据所述配置信息和安全策略将自己的地址和端口注册至所述注册中心,并向所述注册中心发送目的服务器的实例。
可选地,所述代理服务器包括本地代理服务器和备份代理服务器,
在所述本地代理服务器正常运行时,所述客户端用于发送用户触发的业务请求至所述本地代理服务器,所述本地代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例;
或在本地代理服务器发生故障时,所述客户端用于发送用户触发的业务请求至所述备份代理服务器,所述备份代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例。
可选地,所述代理服务器根据所述业务请求从注册中心获取目的服务器的实例的步骤包括:
所述代理服务器对所述业务请求进行解析,获得目的服务器的标识;
所述代理服务器根据目的服务器的标识从注册中心获取目的服务器的实例。
可选地,所述注册中心为基于分布式应用程序协调服务的注册中心。
本发明业务信息处理系统包括:代理服务器,以及与所述代理服务器连接的客户端,所述客户端用于发送的业务请求至代理服务器;所述代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例;所述代理服务器还用于根据所述代理服务器中预设服务治理策略和所述实例对所述业务请求进行对应的处理。通过上述方式,本发明中在业务信息处理系统中添加代理服务器,将传统客户端中服务治理策略抽离,设置在代理服务器中,客户端只产生对应的业务请求,并发送至代理服务器,代理服务器根据业务请求获取目的服务器的实例,并根据预设的服务治理策略对业务请求进行对应的处理,采用本发明代理服务器能够在软件版本升级时,可以只需要对代理服务器进行升级,因此能够减少升级过程中的工作量和风险。
附图说明
图1为本发明业务信息处理系统第一实施例的系统架构示意图;
图2为本发明实施例中业务信息处理方法的系统处理流程时序示意图;
图3为本发明业务信息处理系统第二实施例的系统架构示意图;
图4为本发明实施例中业务信息处理系统的逻辑架构示意图;
图5为本发明实施例中业务信息处理系统的物理部署示意图;
图6为本发明业务信息处理方法第一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种业务信息处理系统。
参照图1,图1为本发明业务信息处理系统第一实施例的系统架构示意图。
在本实施例中,该业务信息处理系统包括:代理服务器200,以及与所述代理服务器200连接的客户端100,
所述客户端100用于发送业务请求至代理服务器200;
所述代理服务器200用于根据所述业务请求从所述代理服务器200中注册中心获取目的服务器的实例;
所述代理服务器200还用于根据所述代理服务器200中预设服务治理策略和所述实例对所述业务请求进行对应的处理。
传统C/S结构中,即客户端和目的服务器结构中,客户端非常臃肿,客户端需要处理协议的序列化和反序列化,需要处理路由算法、隔离、熔断等服务治理功能,即服务治理策略,本发明中将传统客户端中的服务治理策略抽离出来,设置至代理服务器中,客户端则变成瘦客户端。
本实施例中代理服务器200,即Proxy,完全跟业务代码无关,是单独的Java进程,单独升级,升级时无需客户端100进行任何处理。
在用户需要进行业务处理时,通过客户端100触发对应的功能,客户端100根据用户操作产生对应的业务请求,并将用户触发的业务请求发送至代理服务器200。代理服务器200接收到业务请求,则根据业务请求从代理服务器200中注册中心获取目的服务器的实例,目的服务器即对应的服务提供方,然后代理服务器200根据代理服务器200中预设服务治理策略和所述实例对所述业务请求进行对应的处理,本实施例中获取目的服务器的所有实例,以保证业务的进行。其中对所述业务请求进行对应的处理包括对所述业务请求进行转发、降级或拒绝。如将业务请求发送至目的服务器,则目的服务器根据接收到的业务请求反馈对应的内容至是代理服务器,由代理服务器发送至客户端。
处理流程时序图可以如图2所示:
客户端OSP Client进行序列化、监控埋点、安全签名、代理选择和异步发送。其中序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。监控埋点就是监控用户操作的每一步。安全签名是对发送的信息进行加密。代理选择是选择代理服务器。异步发送是一种通讯方式,异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位。
代理服务器OSP Proxy进行反序列头信息、降级熔断、降级处理、服务路由、监控埋点和异步发送。其中反序列头信息就是将客户端发送的信息中的序列头进行解析。降级熔断是由于某些原因使得服务出现了过载现象,为防止造成整个系统故障,从而采用的一种保护措施,所以熔断亦称为过载保护。降级处理整体资源快不够了,先将某些服务先关掉,待整体资源足够时,再开启回来关掉的服务。服务路由就是可以自定义路由,通过定义路由将业务信息发送至指定的目的服务器。代理服务器向获取服务实例列表及服务配置,然后根据接收到的业务信息、服务实例和服务配置进行对应的处理。
目的服务器OSP应用则先进行反序列头信息、限流隔离、监控埋点、安全校验对接收到的业务信息进行验证,然后调用服务对通过验证的业务信息进行处理,然后进行返回数据、序列化返回数据和监控埋点。
其中,所述注册中心为基于分布式应用程序协调服务的注册中心。
基于Zookeeper的服务注册中心,可以实现服务的地址感知,错误感知,平滑升级,高可伸缩性,多版本支持。
进一步地,代理服务器200还用于对所述业务请求进行解析,获得目的服务器的标识;
代理服务器200还用于根据目的服务器的标识从注册中心获取目的服务器的实例。
具体地,代理服务器200在接收到业务请求时,对接收到的业务请求进行解析,获得客户端100所要访问的目的服务器的标识,目的服务器的标识至少包括目的服务器的地址或者名称。然后代理服务器200根据目的服务器的标识从注册中心获取目的服务器的实例,进一步地,保持实时更新目的服务器的实例。
需要特别说明的是,对比于传统的负载平衡器Load Balancer提供基本的负载均衡与HA(High Available,高可用性集群)能力,本发明Proxy提供了丰富的服务治理功能包括:
丰富的路由自定义功能:支持条件化的路由定义,负载均衡,权重调整,支持灰度发布,AB测试,黑白名单,跨机房路由等;
高可用与自我保护的机制:超时控制、重试、限流、熔断、降级、隔离;
服务监控,性能监控,故障快速定位支持;
服务配置:支持服务配置集中管理,动态下发;
服务安全:支持服务认证、授权、签名、加密传输的需求。
本发明业务信息处理系统包括:代理服务器,以及与所述代理服务器连接的客户端,所述客户端用于发送的业务请求至代理服务器;所述代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例;所述代理服务器还用于根据所述代理服务器中预设服务治理策略和所述实例对所述业务请求进行对应的处理。通过上述方式,本发明中在业务信息处理系统中添加代理服务器,将传统客户端中服务治理策略抽离,设置在代理服务器中,客户端只产生对应的业务请求,并发送至代理服务器,代理服务器根据业务请求获取目的服务器的实例,并根据预设的服务治理策略对业务请求进行对应的处理,采用本发明代理服务器能够在软件版本升级时,可以只需要对代理服务器进行升级,因此能够减少升级过程中的工作量和风险。
进一步地,参照图3,图3为本发明业务信息处理系统第二实施例的系统架构示意图。
基于本发明业务信息处理系统第一实施例,该系统还包括:目的服务器300,
所述目的服务器300用于从配置中心获取配置信息,并从所述安全中心获取安全策略;
所述目的服务器300还用于根据所述配置信息和安全策略将自身的地址和端口注册至所述注册中心,并向所述注册中心发送目的服务器的实例。
为使得业务信息处理系统能够执行,在系统运行时,目的服务器300需要从配置中心获取配置信息,并从所述安全中心获取安全策略,然后根据获取到的配置信息和安全策略将自己的地址和端口注册至所述注册中心,然后将目的服务器自身的实例发送至注册中心。其中,配置中心也可以设置在代理服务器中,当然也可以设置在其他终端/网络中。
具体地,该业务信息处理系统的逻辑架构可以如图4所示。
OSP服务端,即目的服务器,服务端包含服务容器和服务本身。服务容器提供服务本身基本以业务逻辑为主,由业务团队实现。
在服务启动时,每个服务首先从配置中心获取配置,从安全中心获取安全策略,然后将自己的地址和端口注册到服务注册中心。
OSP Proxy,即代理服务器,服务客户端将请求发送至代理服务器中OSP代理进程,服务代理层从注册中心获取当前服务提供方的实例(并保持实时更新),根据服务治理逻辑对请求进行处理(转发、降级或拒绝),服务治理的实现保持对客户端和服务端完全透明。
OSP Client,即客户端,由于客户端是业务应用的一部分,为避免框架代码改动对业务方的影响,服务客户端遵循的首要设计原则是单纯简单。除了必须的功能如通信协议、序列化、代理层容错以及监控埋点外,其他高级功能全部在代理层实现。从服务开发者的角度,客户端SDK由osp-idlc自动生成,无额外工作;从服务使用者的角度,只需将服务客户端SDK作为依赖引入,即可对服务进行调用,极少额外的工作。
进一步地,代理服务器200包括本地代理服务器210和备份代理服务器220,在所述本地代理服务器210正常运行时,所述客户端100用于发送用户触发的业务请求至所述本地代理服务器210,所述本地代理服务器210用于根据所述业务请求从注册中心获取目的服务器300的实例;
在本地代理服务器210发生故障时,所述客户端100用于发送用户触发的业务请求至所述备份代理服务器220,所述备份代理服务器220用于根据所述业务请求从注册中心获取目的服务器300的实例。
本实施例中,代理服务器200包括两种类型的代理服务器:本地代理服务器210和备份代理服务器220,服务器300从配置中心获取配置信息,并从所述安全中心获取安全策略,在所述本地代理服务器210正常运行时,所述客户端100发送用户触发的业务请求至所述本地代理服务器210,在本地代理服务器210发生故障时,客户端100则发送用户触发的业务请求至所述备份代理服务器220,所述备份代理服务器220则根据所述业务请求从注册中心获取目的服务器300的实例。
具体地,该系统物理部署图可以如图5所示。
OSP服务端,即目的服务器,基于无状态服务的理念,可以无限扩展,也可以通过代理层的错误感知和负载均衡等功能自动摘出有问题的目的服务器;开发团队无需做特殊处理,也不必部署负载均衡器。
OSP Proxy,即代理服务器,代理层由本地Local Proxy和集中式备份集群RemoteProxy组成,本地代理以独立进程方式部署在每一台调用者服务器上,只为本机调用者服务;集中式备份集群每个机房部署一个,由集群技术LVS提供负载均衡,为本地代理提供容错能力。在本地代理发生故障时,调用方切换到使用集中式备份集群完成服务调用。代理层从注册中心获取各机房的服务实例信息,并优先选择使用本机房服务实例,在本机房无可用实例时选择使用其他机房实例。
OSP Client,即客户端,客户端内嵌在业务应用里,通过SDK向使用者提供调用接口和对象模型;从使用者的角度,只需进行调用。客户端不与配置中心产生联系,但会与Salus连接,并将监控信息上报到监控报警系统Mercury。配置中心集中部署在一个机房内,在远程机房可用选择部署ZK观察集群,以提高性能和降低网络影响。Mercury集中部署在一个机房内。
本发明进一步提供一种业务信息处理方法。
参照图6,图6为本发明业务信息处理方法第一实施例的流程示意图。
在本实施例中,该业务信息处理方法包括:
步骤S10,客户端发送用户触发的业务请求至代理服务器;
步骤S20,所述代理服务器根据所述业务请求注册中心获取目的服务器的实例;
步骤S30,所述代理服务器根据所述代理服务器中预设服务治理策略和所述实例对所述业务请求进行对应的处理。
传统C/S结构中,即客户端和目的服务器结构中,客户端非常臃肿,客户端需要处理协议的序列化和反序列化,需要处理路由算法、隔离、熔断等服务治理功能,即服务治理策略,本发明中将传统客户端中的服务治理策略抽离出来,设置至代理服务器中,客户端则变成瘦客户端。
本实施例中代理服务器,即Proxy,完全跟业务代码无关,是单独的Java进程,单独升级,升级时无需客户端进行任何处理。
在用户需要进行业务处理时,通过客户端触发对应的功能,客户端根据用户操作产生对应的业务请求,并将用户触发的业务请求发送至代理服务器。代理服务器接收到业务请求,则根据业务请求从注册中心获取目的服务器的实例,目的服务器即对应的服务提供方,然后代理服务器根据代理服务器中预设服务治理策略和所述实例对所述业务请求进行对应的处理,本实施例中获取目的服务器的所有实例,以保证业务的进行。其中对所述业务请求进行对应的处理包括对所述业务请求进行转发、降级或拒绝。如将业务请求发送至目的服务器,则目的服务器根据接收到的业务请求反馈对应的内容至是代理服务器,由代理服务器发送至客户端。
处理流程时序图可以如图2所示:
客户端OSP Client进行序列化、监控埋点、安全签名、代理选择和异步发送。其中序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。监控埋点就是监控用户操作的每一步。安全签名是对发送的信息进行加密。代理选择是选择代理服务器。异步发送是一种通讯方式,异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位。
代理服务器OSP Proxy进行反序列头信息、降级熔断、降级处理、服务路由、监控埋点和异步发送。其中反序列头信息就是将客户端发送的信息中的序列头进行解析。降级熔断是由于某些原因使得服务出现了过载现象,为防止造成整个系统故障,从而采用的一种保护措施,所以熔断亦称为过载保护。降级处理整体资源快不够了,先将某些服务先关掉,待整体资源足够时,再开启回来关掉的服务。服务路由就是可以自定义路由,通过定义路由将业务信息发送至指定的目的服务器。代理服务器向获取服务实例列表及服务配置,然后根据接收到的业务信息、服务实例和服务配置进行对应的处理。
目的服务器OSP应用则先进行反序列头信息、限流隔离、监控埋点、安全校验对接收到的业务信息进行验证,然后调用服务对通过验证的业务信息进行处理,然后进行返回数据、序列化返回数据和监控埋点。
其中,所述注册中心为基于分布式应用程序协调服务的注册中心。
基于Zookeeper的服务注册中心,可以实现服务的地址感知,错误感知,平滑升级,高可伸缩性,多版本支持。
进一步地,代理服务器根据所述业务请求从注册中心获取目的服务器的实例的步骤包括:
代理服务器对所述业务请求进行解析,获得目的服务器的标识;
代理服务器根据目的服务器的标识从注册中心获取目的服务器的实例。
具体地,代理服务器在接收到业务请求时,对接收到的业务请求进行解析,获得客户端所要访问的目的服务器的标识,目的服务器的标识至少包括目的服务器的地址或者名称。然后代理服务器根据目的服务器的标识从注册中心获取目的服务器的实例,进一步地,保持实时更新目的服务器的实例。
需要特别说明的是,对比于传统的负载平衡器LoadBalancer提供基本的负载均衡与HA(High Available,高可用性集群)能力,本发明Proxy提供了丰富的服务治理功能包括:
丰富的路由自定义功能:支持条件化的路由定义,负载均衡,权重调整,支持灰度发布,AB测试,黑白名单,跨机房路由等;
高可用与自我保护的机制:超时控制、重试、限流、熔断、降级、隔离;
服务监控,性能监控,故障快速定位支持;
服务配置:支持服务配置集中管理,动态下发;
服务安全:支持服务认证、授权、签名、加密传输的需求。
本发明业务信息处理系统包括:代理服务器,以及与所述代理服务器连接的客户端,所述客户端用于发送的业务请求至代理服务器;所述代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例;所述代理服务器还用于根据所述代理服务器中预设服务治理策略和所述实例对所述业务请求进行对应的处理。通过上述方式,本发明中在业务信息处理系统中添加代理服务器,将传统客户端中服务治理策略抽离,设置在代理服务器中,客户端只产生对应的业务请求,并发送至代理服务器,代理服务器根据业务请求获取目的服务器的实例,并根据预设的服务治理策略对业务请求进行对应的处理,采用本发明代理服务器能够在软件版本升级时,可以只需要对代理服务器进行升级,因此能够减少升级过程中的工作量和风险。
进一步地,基于本发明业务信息处理方法第一实施例,该方法还包括:
所述目的服务器从配置中心获取配置信息,并从所述安全中心获取安全策略;
所述目的服务器根据所述配置信息和安全策略将自己的地址和端口注册至所述注册中心,并向所述注册中心发送目的服务器的实例。
为使得业务信息处理系统能够执行,在系统运行时,目的服务器需要从配置中心获取配置信息,并从所述安全中心获取安全策略,然后根据获取到的配置信息和安全策略将自己的地址和端口注册至所述注册中心,然后将目的服务器自身的实例发送至注册中心。其中,配置中心也可以设置在代理服务器中,当然也可以设置在其他终端/网络中。
具体地,该业务信息处理系统的逻辑架构可以如图4所示。
OSP服务端,即目的服务器,服务端包含服务容器和服务本身。服务容器提供服务本身基本以业务逻辑为主,由业务团队实现。
在服务启动时,每个服务首先从配置中心获取配置,从安全中心获取安全策略,然后将自己的地址和端口注册到服务注册中心。
OSP Proxy,即代理服务器,服务客户端将请求发送至代理服务器中OSP代理进程,服务代理层从注册中心获取当前服务提供方的实例(并保持实时更新),根据服务治理逻辑对请求进行处理(转发、降级或拒绝),服务治理的实现保持对客户端和服务端完全透明。
OSP Client,即客户端,由于客户端是业务应用的一部分,为避免框架代码改动对业务方的影响,服务客户端遵循的首要设计原则是单纯简单。除了必须的功能如通信协议、序列化、代理层容错以及监控埋点外,其他高级功能全部在代理层实现。从服务开发者的角度,客户端SDK由osp-idlc自动生成,无额外工作;从服务使用者的角度,只需将服务客户端SDK作为依赖引入,即可对服务进行调用,极少额外的工作。
进一步地,代理服务器包括本地代理服务器和备份代理服务器,在所述本地代理服务器正常运行时,所述客户端用于发送用户触发的业务请求至所述本地代理服务器,所述本地代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例;
在本地代理服务器发生故障时,所述客户端用于发送用户触发的业务请求至所述备份代理服务器,所述备份代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例。
本实施例中,代理服务器包括两种类型的代理服务器:本地代理服务器和备份代理服务器,服务器从配置中心获取配置信息,并从所述安全中心获取安全策略,在所述本地代理服务器正常运行时,所述客户端发送用户触发的业务请求至所述本地代理服务器,在本地代理服务器发生故障时,客户端则发送用户触发的业务请求至所述备份代理服务器,所述备份代理服务器则根据所述业务请求从注册中心获取目的服务器的实例。
具体地,该系统物理部署图可以如图5所示。
OSP服务端,即目的服务器,基于无状态服务的理念,可以无限扩展,也可以通过代理层的错误感知和负载均衡等功能自动摘出有问题的目的服务器;开发团队无需做特殊处理,也不必部署负载均衡器。
OSP Proxy,即代理服务器,代理层由本地Local Proxy和集中式备份集群RemoteProxy组成,本地代理以独立进程方式部署在每一台调用者服务器上,只为本机调用者服务;集中式备份集群每个机房部署一个,由集群技术LVS提供负载均衡,为本地代理提供容错能力。在本地代理发生故障时,调用方切换到使用集中式备份集群完成服务调用。代理层从注册中心获取各机房的服务实例信息,并优先选择使用本机房服务实例,在本机房无可用实例时选择使用其他机房实例。
OSP Client,即客户端,客户端内嵌在业务应用里,通过SDK向使用者提供调用接口和对象模型;从使用者的角度,只需进行调用。客户端不与配置中心产生联系,但会与Salus连接,并将监控信息上报到监控报警系统Mercury。配置中心集中部署在一个机房内,在远程机房可用选择部署ZK观察集群,以提高性能和降低网络影响。Mercury集中部署在一个机房内。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种业务信息处理系统,其特征在于,所述业务信息处理系统包括:代理服务器,以及与所述代理服务器连接的客户端,
所述客户端用于发送用户触发的业务请求至代理服务器;
所述代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例;
所述代理服务器还用于根据所述代理服务器中预设服务治理策略和所述实例对所述业务请求进行对应的处理。
2.如权利要求1所述的业务信息处理系统,其特征在于,所述系统还包括:所述目的服务器,
所述目的服务器用于从配置中心获取配置信息,并从所述安全中心获取安全策略;
所述目的服务器还用于根据所述配置信息和安全策略将自身的地址和端口注册至所述注册中心,并向所述注册中心发送服务器的实例。
3.如权利要求2所述的业务信息处理系统,其特征在于,所述代理服务器包括本地代理服务器和备份代理服务器,
在所述本地代理服务器正常运行时,所述客户端用于发送用户触发的业务请求至所述本地代理服务器,所述本地代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例;
在本地代理服务器发生故障时,所述客户端用于发送用户触发的业务请求至所述备份代理服务器,所述备份代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例。
4.如权利要求1所述的业务信息处理系统,其特征在于,所述代理服务器还用于对所述业务请求进行解析,获得目的服务器的标识;
所述代理服务器还用于根据目的服务器的标识从注册中心获取目的服务器的实例。
5.如权利要求1-4中任一项所述的业务信息处理系统,其特征在于,所述注册中心为基于分布式应用程序协调服务的注册中心。
6.一种业务信息处理方法,其特征在于,所述业务信息处理方法包括:
客户端发送用户触发的业务请求至代理服务器;
所述代理服务器根据所述业务请求从注册中心获取目的服务器的实例;
所述代理服务器根据所述代理服务器中预设服务治理策略和所述实例对所述业务请求进行对应的处理。
7.如权利要求6所述的业务信息处理方法,其特征在于,所述根据所述业务请求从注册中心获取目的服务器的实例的步骤之前包括:
目的服务器从配置中心获取配置信息,并从所述安全中心获取安全策略;
目的服务器根据所述配置信息和安全策略将自己的地址和端口注册至所述注册中心,并向所述注册中心发送目的服务器的实例。
8.如权利要求7所述的业务信息处理方法,其特征在于,所述代理服务器包括本地代理服务器和备份代理服务器,
在所述本地代理服务器正常运行时,所述客户端用于发送用户触发的业务请求至所述本地代理服务器,所述本地代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例;
在本地代理服务器发生故障时,所述客户端用于发送用户触发的业务请求至所述备份代理服务器,所述备份代理服务器用于根据所述业务请求从注册中心获取目的服务器的实例。
9.如权利要求6所述的业务信息处理方法,其特征在于,所述代理服务器根据所述业务请求从注册中心获取目的服务器的实例的步骤包括:
所述代理服务器对所述业务请求进行解析,获得目的服务器的标识;
所述代理服务器根据目的服务器的标识从注册中心获取目的服务器的实例。
10.如权利要求6-9中任一项所述的业务信息处理方法,其特征在于,所述注册中心为基于分布式应用程序协调服务的注册中心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610795730.4A CN106301947B (zh) | 2016-08-31 | 2016-08-31 | 业务信息处理系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610795730.4A CN106301947B (zh) | 2016-08-31 | 2016-08-31 | 业务信息处理系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106301947A true CN106301947A (zh) | 2017-01-04 |
CN106301947B CN106301947B (zh) | 2023-08-25 |
Family
ID=57672487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610795730.4A Active CN106301947B (zh) | 2016-08-31 | 2016-08-31 | 业务信息处理系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106301947B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240765A (zh) * | 2018-08-28 | 2019-01-18 | 中国联合网络通信集团有限公司 | 服务资源的熔断方法、装置、设备及计算机可读存储介质 |
CN109600407A (zh) * | 2017-09-30 | 2019-04-09 | 北京国双科技有限公司 | 基于虚拟服务器的请求分发方法和装置 |
CN109660617A (zh) * | 2018-12-18 | 2019-04-19 | 中电科华云信息技术有限公司 | 一种基于服务器集群的消息推送方法 |
CN109995713A (zh) * | 2017-12-30 | 2019-07-09 | 华为技术有限公司 | 一种微服务框架中的服务处理方法及相关设备 |
CN110324397A (zh) * | 2019-03-21 | 2019-10-11 | 国网山东省电力公司 | 基于动态连接的智能变电站站控层应用服务接口访问方法 |
WO2020147466A1 (zh) * | 2019-01-18 | 2020-07-23 | 华为技术有限公司 | 调用服务器的方法和代理服务器 |
CN112202929A (zh) * | 2020-12-01 | 2021-01-08 | 湖南新云网科技有限公司 | 一种微服务架构中的服务访问方法、装置、设备 |
CN112272228A (zh) * | 2020-10-22 | 2021-01-26 | 北京神州数字科技有限公司 | 分布式注册中心架构 |
CN112491940A (zh) * | 2019-09-12 | 2021-03-12 | 北京京东振世信息技术有限公司 | 代理服务器的请求转发方法及装置、存储介质及电子设备 |
CN112506709A (zh) * | 2020-12-16 | 2021-03-16 | 北京航天智造科技发展有限公司 | 微服务治理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6571277B1 (en) * | 1999-10-19 | 2003-05-27 | International Business Machines Corporation | Method and apparatus for scaling universal plug and play networks using atomic proxy replication |
US20080060082A1 (en) * | 2006-05-24 | 2008-03-06 | International Business Machines Corporation | Validating routing of client requests to appropriate servers hosting specific stateful web service instances |
CN101483860A (zh) * | 2009-01-23 | 2009-07-15 | 清华大学 | Ims网络中基于sip安全策略等级的协商控制方法 |
CN102185900A (zh) * | 2011-04-18 | 2011-09-14 | 北京新媒传信科技有限公司 | 一种应用服务平台系统和一种开发应用服务的方法 |
CN103944890A (zh) * | 2014-04-08 | 2014-07-23 | 山东乾云启创信息科技有限公司 | 基于客户端/服务器模式的虚拟交互系统及方法 |
CN105099988A (zh) * | 2014-04-24 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 用于支持灰度发布的方法、访问方法以及装置和系统 |
-
2016
- 2016-08-31 CN CN201610795730.4A patent/CN106301947B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6571277B1 (en) * | 1999-10-19 | 2003-05-27 | International Business Machines Corporation | Method and apparatus for scaling universal plug and play networks using atomic proxy replication |
US20080060082A1 (en) * | 2006-05-24 | 2008-03-06 | International Business Machines Corporation | Validating routing of client requests to appropriate servers hosting specific stateful web service instances |
CN101483860A (zh) * | 2009-01-23 | 2009-07-15 | 清华大学 | Ims网络中基于sip安全策略等级的协商控制方法 |
CN102185900A (zh) * | 2011-04-18 | 2011-09-14 | 北京新媒传信科技有限公司 | 一种应用服务平台系统和一种开发应用服务的方法 |
CN103944890A (zh) * | 2014-04-08 | 2014-07-23 | 山东乾云启创信息科技有限公司 | 基于客户端/服务器模式的虚拟交互系统及方法 |
CN105099988A (zh) * | 2014-04-24 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 用于支持灰度发布的方法、访问方法以及装置和系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600407A (zh) * | 2017-09-30 | 2019-04-09 | 北京国双科技有限公司 | 基于虚拟服务器的请求分发方法和装置 |
CN109995713B (zh) * | 2017-12-30 | 2020-11-27 | 华为技术有限公司 | 一种微服务框架中的服务处理方法及相关设备 |
CN109995713A (zh) * | 2017-12-30 | 2019-07-09 | 华为技术有限公司 | 一种微服务框架中的服务处理方法及相关设备 |
CN109240765A (zh) * | 2018-08-28 | 2019-01-18 | 中国联合网络通信集团有限公司 | 服务资源的熔断方法、装置、设备及计算机可读存储介质 |
CN109240765B (zh) * | 2018-08-28 | 2021-08-10 | 中国联合网络通信集团有限公司 | 服务资源的熔断方法、装置、设备及计算机可读存储介质 |
CN109660617A (zh) * | 2018-12-18 | 2019-04-19 | 中电科华云信息技术有限公司 | 一种基于服务器集群的消息推送方法 |
WO2020147466A1 (zh) * | 2019-01-18 | 2020-07-23 | 华为技术有限公司 | 调用服务器的方法和代理服务器 |
CN110324397A (zh) * | 2019-03-21 | 2019-10-11 | 国网山东省电力公司 | 基于动态连接的智能变电站站控层应用服务接口访问方法 |
CN110324397B (zh) * | 2019-03-21 | 2021-09-21 | 国网山东省电力公司 | 基于动态连接的智能变电站站控层应用服务接口访问方法 |
CN112491940A (zh) * | 2019-09-12 | 2021-03-12 | 北京京东振世信息技术有限公司 | 代理服务器的请求转发方法及装置、存储介质及电子设备 |
CN112491940B (zh) * | 2019-09-12 | 2024-05-24 | 北京京东振世信息技术有限公司 | 代理服务器的请求转发方法及装置、存储介质及电子设备 |
CN112272228A (zh) * | 2020-10-22 | 2021-01-26 | 北京神州数字科技有限公司 | 分布式注册中心架构 |
CN112272228B (zh) * | 2020-10-22 | 2024-08-20 | 北京神州数字科技有限公司 | 分布式注册中心系统 |
CN112202929A (zh) * | 2020-12-01 | 2021-01-08 | 湖南新云网科技有限公司 | 一种微服务架构中的服务访问方法、装置、设备 |
CN112506709A (zh) * | 2020-12-16 | 2021-03-16 | 北京航天智造科技发展有限公司 | 微服务治理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106301947B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106301947A (zh) | 业务信息处理系统和方法 | |
CN206164554U (zh) | 业务信息处理系统 | |
US10609015B2 (en) | Method and apparatus of providing messaging service and callback feature to mobile stations | |
CN105808316B (zh) | 虚拟网络加载方法和装置 | |
CN104935672B (zh) | 负载均衡服务高可用实现方法和设备 | |
CN110169140A (zh) | 用于会话管理的系统和方法 | |
EP3454215A1 (en) | Method for calling remote procedure in network device, and network device | |
CN111131193A (zh) | 支持多协议异构非代码侵入的分布式服务治理的方法 | |
US9098341B2 (en) | Service manager for adaptive load shedding | |
US11637761B2 (en) | Systems and methods to deploy cloud-native microservices for communication services on scale | |
CN102007473A (zh) | 网络元件的处理节点之间的diameter总线通信 | |
JP2020506629A (ja) | ルーティング方法および装置 | |
KR101709632B1 (ko) | 정보 처리 장치 | |
KR20200004879A (ko) | 안정적인 분산형 M2M/IoT 서비스들의 가능화 | |
CN107249038A (zh) | 业务数据转发方法及系统 | |
US8972802B2 (en) | Providing high availability to a hybrid application server environment containing non-java containers | |
CN116781564B (zh) | 一种容器云平台的网络检测方法、系统、介质和电子设备 | |
CN106534307B (zh) | 基于负载均衡动态配置插件的云环境弹性负载均衡方法 | |
US20200026604A1 (en) | Automated failover of data traffic routes for network-based applications | |
CN108881338A (zh) | 网络功能虚拟化镜像文件升级的方法及装置 | |
CN112804277A (zh) | 负荷控制信息发送方法、装置、设备和存储介质 | |
KR101648568B1 (ko) | 분산된 객체를 클러스터링하여 하나의 객체처럼 활용하는 방법 및 이를 사용한 분산 시스템 | |
US20230396502A1 (en) | Network service management system and network service management method | |
WO2024078025A1 (zh) | 流量隔离方法、装置、系统及计算机可读存储介质 | |
CN118631655A (zh) | 确认针对网络设备的新的网络设备软件的安装 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20171206 Address after: 510000 Guangzhou City, Guangzhou, Guangdong, Fangcun Avenue, one of the 314 self compiled Applicant after: GUANGZHOU PINWEI SOFTWARE Co.,Ltd. Address before: Liwan District Fangcun Huahai street Guangzhou city Guangdong province 510000 No. 20 self 1-5 building (only for office use) Applicant before: GUANGZHOU VIPSHOP INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |