分布式系统服务器上下线方法及服务器的制造方法

文档序号:9455937阅读:1245来源:国知局
分布式系统服务器上下线方法及服务器的制造方法
【技术领域】
[0001]本申请涉及计算机网络技术领域,尤其涉及一种分布式系统服务器上下线方法及服务器。
【背景技术】
[0002]随着电子商务网站(例如,淘宝网等)的用户数量和网站流量的不断增长,应用系统的数量和复杂程度也急剧增加。诸多前台系统都需要使用一些公共的业务逻辑,这些业务逻辑通常具有一些共性,比如,获取用户信息或查询宝贝详情等。如果将这些业务逻辑在各个系统内部都实现一遍,则大大增加了开发成本和后期维护成本,按照业务领域模型进行垂直拆分实现SOA架构是势在必行。面向服务的架构(Service Oriented Architecture,S0A)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。面向服务架构可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。
[0003]远程调用框架(High Speed Framework, HSF)是淘宝网的分布式服务框架,是淘网宝服务化架构中的基础组件,是基于传输控制协议(Transmiss1n Control Protocol,TCP)长连接的远程调用框架,可以帮助各个应用系统将那些相似的业务逻辑抽离出来,并单独部署。前台系统在需要调用这些业务逻辑时,只需要通过服务框架远程调用即可,大大节约了前端系统的开发成本,也提高了系统的可维护性和可扩展性。
[0004]随着分布式服务框架规模的日益庞大,各个应用系统之间的依赖关系错综复杂,在分布式服务框架中牵一发动全身,容易出现因为某个应用系统提供的服务下线而导致客户端调用失败的现象,造成短时间内的数据有较大波动,影响分布式系统的稳定性。例如,在现有的分布式服务框架中,当遇到某个应用系统(例如,淘宝的某个交易核心系统)重启时,关闭阶段会导致周边应用系统大量调用失败,以至于交易有明显的波动。因为应用系统的服务端还有许多在处理而没有返回响应到客户端;另外有一部分请求在网络发送途中或者客户端准备发送中,这些调用中的请求基本都会失败。在应用系统的服务器在启动阶段,服务还没有完全初始化成功就绪,就有请求进来了,这时候的处理结果就是失败。最终,应用系统的服务器重启或上线就会出现调用失败的问题,对用户造成影响,导致分布式系统的稳定性差。

【发明内容】

[0005]本申请的目的是,提供一种分布式系统服务器上下线方法及服务器,可以有效避免在应用程序的服务器上下线时,服务器的客户端出现调用失败的问题,从而使分布式系统具有较好的稳定性。
[0006]本申请提供了一种分布式系统服务器下线方法,所述方法包括:
[0007]应用程序的服务器接收到所述应用程序的控制端发送的下线指令时,所述服务器运行下线的运维脚本;
[0008]所述服务器向分布式系统的配置中心发送第一通知消息,所述第一通知消息用于通知所述配置中心将所述服务器的地址信息从地址服务簿上删除,其中,所述地址服务簿用于存储和维护所述分布式系统中所有的可用服务器的地址信息;
[0009]所述服务器向正在调用所述服务器的客户端发送第二通知消息,所述第二通知消息用于通知所述客户端停止发送请求;
[0010]经过预设的第一时间后,所述服务器终止所述服务器的进程,以使所述服务器下线。
[0011]又一方面,本申请还提供了一种分布式系统服务器上线方法,所述方法包括:
[0012]应用程序的服务器上线时进行服务器初始化,判断是否初始化成功,如果是,则所述服务器将其地址信息注册到分布式系统配置中心的地址服务簿,提供所述应用程序相应的服务。
[0013]又一方面,本申请还提供了一种分布式系统服务器,所述服务器包括:
[0014]接收单元,用于接收应用程序的控制端发送的下线指令;
[0015]第一处理单元,用于当所述接收单元接收到所述下线指令时,运行下线的运维脚本;
[0016]第一发送单元,用于在所述第一处理单元运行所述下线的运维脚本之后,向分布式系统的配置中心发送第一通知消息,所述第一通知消息用于通知所述配置中心将所述服务器的地址信息从地址服务簿上删除,其中,所述地址服务簿用于存储和维护所述分布式系统中所有的可用服务器的地址信息;
[0017]第二发送单元,用于在所述第一处理单元运行所述下线的运维脚本之后,向正在调用所述服务器的客户端发送第二通知消息,所述第二通知消息用于通知所述客户端停止发送请求;
[0018]第二处理单元,用于在所述第一发送单元和第二发送单元发送完对应的通知消息之后,经过预设的第一时间后,终止所述服务器的进程,以使所述服务器下线。
[0019]又一方面,本申请还提供了一种分布式系统服务器,所述服务器包括:初始化单元、判断单元和注册单元;
[0020]所述初始化单元,用于当所述服务器上线时,进行初始化;
[0021]所述判断单元,用于判断所述初始化单元是否初始化成功,如果是,则进入注册单元;
[0022]所述注册单元,用于将所述服务器的地址信息注册到分布式系统配置中心的地址服务簿,提供所述应用程序相应的服务。
[0023]本申请实施例提供的分布式系统服务器上下线方法及服务器,可以有效避免在应用程序的服务器上下线时,服务器的客户端出现调用失败的问题,从而使分布式系统具有较好的稳定性,保证客户端调用的成功率,避免调用失败带来的负面影响。
【附图说明】
[0024]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为本申请实施例提供的一种分布式服务框架的示意图;
[0026]图2为本申请实施例一提供的一种分布式系统服务器下线方法流程图;
[0027]图3为本申请实施例二提供的一种分布式系统服务器下线方法的具体处理流程图;
[0028]图4为本申请实施例三提供的一种分布式系统服务器上线方法流程图;
[0029]图5为本申请实施例四提供的一种分布式系统服务器的结构示意图;
[0030]图6为本申请实施例五提供的一种分布式系统服务器的结构示意图;
[0031]图7为本申请实施例五提供的一种分布式系统服务器的结构示意图。
【具体实施方式】
[0032]为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0033]本申请实施例提供的分布式系统服务器上下线方法及装置,适用于面向服务的架构SOA的分布式系统、基于远程调用的服务框架HSF的分布式系统等等。在本申请实施例中以HSF服务框架为例进行说明,但并不以此作为限制。
[0034]HSF服务框架从分布式应用层面以及统一的发布/调用方式层面为业务系统提供支持,从而可以很容易地开发分布式应用并提供和使用公用功能模块,而不用考虑分布式领域中的各种细节技术,例如,远程通讯、性能损耗、调用的透明化、同步/异步调用方式的实现等问题。
[0035]在一个HSF服务框架中,集成了大量的应用系统,每一个应用系统对应的应用程序在大量的服务器上运行,即对应了大量的应用系统服务器(或者服务),每个服务器上可以提供至少一种应用系统的服务。这里的服务器是虚拟的服务器,以软件的形式存在于网络资源中,能提供或支持特定功能的服务或操作。
[0036]以淘宝网的HSF服务框架为例,应用系统可以包括前端应用系统和后端服务系统,前端应用系统,例如搜索系统、商品详情系统、商铺系统等等,对应于搜索系统服务器、商品详情服务器、商品系统服务器等等;后端服务系统包括商品中心、用户中心、交易中心等等,对应于商品中心服务器、用户中心服务器、交易中心服务器等等。HSF是基于配置中心(Configserver)来管理和发现服务地址信息,在HSF架构中,所有应用系统服务器都需要在系统的配置中心的地址服务簿上注册,统一管理服务器的地址信息,以便需要使用该些服务的客户端通过地址服务簿调用所需要的服务器。其中,地址服务簿由地址服务器(ConfigServer)管理和维护。
[0037]客户端发起远程调用时,从分布式系统的配置中心的地址服务簿上,获得所需要的服务的服务器的地址信
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1