一种可弹性伸缩的分布式服务管理系统及其方法技术方案

技术编号:15706442 阅读:136 留言:0更新日期:2017-06-26 19:45
本发明专利技术公开一种可弹性伸缩的分布式服务管理系统及其方法,包括高性能的RPC框架设计、分布式事务补偿机制、通用服务注册中心、基于综合评价法的服务匹配策略以及自动化的接口模块注入机制等核心能力,依据该方法构建的大规模分布式系统以及大数据平台的数据服务,其系统包括服务发布组件,服务注册中心,用于实现分布式系统的服务发现与配置;编程模型,通过分层结构实现用户请求数据的通用功能。本发明专利技术具备强大的线性扩展和高并发访问能力,具有全栈的监控、跟踪、服务状态监控能力,架构的性能、弹性伸缩能力和可靠性都得到了极大的提升。

Flexible scalable distributed service management system and method thereof

The present invention discloses a flexible distributed service management system and method, including the design of RPC framework, high performance distributed transaction compensation mechanism, the general service registration center, based on the comprehensive evaluation method of service matching strategy and interface module automatic injection machine system of core competence, according to the construction of large-scale distributed systems and methods the data platform of data services, the system includes a service publishing component, service registration center, for the implementation of distributed service discovery and allocation system; programming model, general function through the hierarchical structure to realize the user request data. The invention has strong linear expansion and high concurrency, with full stack monitoring, tracking, monitoring the status of the service ability, structure performance, flexibility and reliability of capacity has been greatly improved.

【技术实现步骤摘要】
一种可弹性伸缩的分布式服务管理系统及其方法
本专利技术涉及的网路通讯分布式服务框架领域,具体涉及的是一种可弹性伸缩的分布式服务管理系统及及其方法。
技术介绍
传统的服务化架构,服务提供者和消费者之间采用远程网络通信,增加了额外的性能损耗,业务调用的时延将增大;在可靠性方面,由于网络闪断等原因,分布式调用失败的风险较大,如果服务框架缺乏足够的容错能力,业务失败率将会大幅提升。此外,跨节点的事务一致性问题、分布式调用带来的故障定位困难、海量微服务运维成本增加等问题普遍存在。本专利技术提出了一种新的高性能服务构建方法,以应用为中心,帮助企业级客户轻松构建大型分布式应用服务。目前主流的应用系统测试和部署成本高,业务运行在一个进程中,系统中任何程序的改变,都需要对整个系统重新测试并部署;可伸缩性差,水平扩展只能基于整个系统进行扩展,无法针对某一个功能模块按需扩展;中大型系统中技术模块众多,模块间依赖关系错踪复杂,模块启动顺序混乱,架构师难以描述应用的架构关系。本专利技术提出的可弹性伸缩的服务框架,支持技术人员按照业务功能边界自由组装、拆分业务模块,大幅提升系统的构建速度和运行效率。传统的基于HTTP+SOAP的服务实现,面对高并发的应用场景,性能难于满足要求。因此,在淘宝网这样的高并发Web网站,采用自主研发的高性能服务框架Dubbo实现服务注册、路由、治理、可高用、多版本、高性能等能力。Dubbo的关键在于采用NIO(mina框架,长连接,多路复用)和二进制序列化(Hessian)实现比HTTP+SOAP高得多的性能,通过服务注册、服务路由、健康检查等实现高可用。但是在负载均衡策略方面并没有考虑到服务的不同生命周期,且必须在研发阶段就要确定好功能模块之间的依赖关系,无法在系统运行时任意组装业务模块,难以提供细粒度的动态伸缩能力。因此,现有的网络服务存在以下缺陷:(1)在业务应用服务化之前,业务通常都是本地API调用,本地方法调用性能损耗较小。服务化之后,服务提供者和消费者之间采用远程网络通信,增加了额外的性能开销。这些开销主要体现在:客户端需要对消息进行序列化,占用CPU计算资源;序列化时需要创建二进制数组,耗费JVM堆内存或者堆外内存;客户端需要将序列化之后的二进制数组发送给服务端,占用网络带宽资源;服务端读取到码流之后,需要将请求数据包反序列化成请求对象,占用CPU计算资源;服务端通过反射的方式调用服务提供者实现类,反射本身对性能影响就比较大;服务端将响应结果序列化,占用CPU计算资源;服务端将应答码流发送给客户端,占用网络带宽资源;客户端读取应答码流,反序列化成响应消息,占用CPU资源。通过上述分析可以发现,一个简单的本地方法调用,切换成远程服务调用之后,额外增加了很多处理流程,不仅占用大量的系统资源,同时增加了时延。一些复杂的应用会拆分成多个服务,形成服务调用链,如果服务化框架的性能比较差、服务调用时延也比较大,业务服务化之后的性能和时延将无法满足业务的性能需求。(2)业务应用服务化之前,业务采用本地事务,多个本地SQL调用可以用一个大的事务块封装起来,如果某一个数据库操作发生异常,就可以将之前的SQL操作进行回滚,只有所有SQL操作全部成功,才最终提交,这就保证了事务强一致性。服务化之后,多个数据库操作被拆分到各自独立的数据库访问服务中,此时原来的本地SQL调用演变成了远程服务调用,事务一致性无法得到保证。(3)当前流行的微服务架构,研发团队会被拆分成多个服务化小组,每个团队由数名研发人员负责服务的开发、测试、部署上线、运维和运营等。随着服务数的膨胀,研发团队的增多,开发期间服务模块之间的代码依赖关系复杂,跨团队的协同配合将会成为一个制约研发效率提升的因素。
技术实现思路
为解决现有分布式环境中NIO通讯及多协议集成复杂、服务动态寻址与路由性能不高、软负载均衡与容错能录不足等问题,本专利技术目的是在于提供一种可弹性伸缩的分布式服务管理系统及其构建方法,支撑构建大规模分布式系统以及大数据平台的数据服务,具备强大的线性扩展和高并发访问能力,大幅提升系统的构建速度和运行效率,具有全栈的监控、跟踪、服务状态监控能力。为实现上述目的,本专利技术的技术方案如下:一种可弹性伸缩的分布式服务管理系统,该框架包括:服务发布组件,负责将业务功能模块对外、对内提供的功能发布为服务,服务交互过程中传输数据支持结构化数据和非结构化数据;服务注册中心,用于实现分布式系统的服务发现与配置;接收业务应用启动时发布的服务信息,并将所述业务应用加入服务池并生成服务代理;在服务消费者发起调用时,获取所述调用对应的服务提供者的位置信息以及服务代理,并将所述服务代理绑定到相应的位置以发起服务调用;编程模型,通过分层结构实现用户请求数据的通用功能。所述服务发布组件中,服务发布机制支持RMI、Restful/JSON以及BladeDS、WebService方式,Flex客户端与服务交互支持BladeDS方式,同质系统之间的服务调用支持RMI以及Restful/JSON方式,异质系统之间集成支持WebService、JMS方式。上述非结构化数据为xml、html、视频、音频或图片数据。所述服务注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心;服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者。所述服务代理包括业务功能模块的领域对象以及接口对象。所述通用功能包括数据的格式化、传输、封包与解包和URL处理。所述编程模型中通过分层结构分为如下:接口层,责定义消息语义,定义服务调用语义,定义技术服务调用语义;运行层,允许自定义服务本身的实现,负责控制一个服务同时处理的消息数量,控制在内部出错时提供给服务消费者的信息,控制所请求服务实现的实例化处理,控制服务调用的事务语义;消息层,通过消息分发管道达到自定义消息分发的目的,包括传输管道和协议管道两种,传输管道支持物理消息分发传输。一种用于上述的服务管理系统的分布式服务的提供方法,其方法包括以下具体步骤:服务评分,服务管理系统在接收到服务请求后,以服务池为单位,实时搜集单个服务运行的质量指标数据,根据权重进行综合评分;服务匹配,根据服务请求命中到的一组候选服务,选取健康分值最高的进行匹配;服务动态绑定,获取到健康分值最高的服务提供者的IP地址和端口号,动态绑定到服务代理上,即可将服务请求分配到最合适的服务提供者。其还包括:建立服务质量评价模型,模型涉及的质量指标分为通用指标和业务指标;业务指标由应用定义,通过服务框架自动添加到请求的上下文中,业务插件负责根据规则计算,计算的数值由服务框架进行记录;确定权重,基于已经积累下来的服务质量数据作为样本,采取自定义的量化方法计算各指标的权重。服务代理定期更新候选服务集合,一旦发现原来的最优服务不可用或者服务质量等级有所下降,或者有新的且满足要求的质量等级的服务出现,服务代理就及时自动重新绑定服务。所述通用指标用于描述服务的非功能特性,包括服务响应平均时间、服务响应时间极差、吞吐量、调用失败率和最大连续失败次数。在上述确定权重中,在确定各指标的权重之前,应用初上线时,各指标的权重预置了一个值;随着应用的运行,当积累的数据本文档来自技高网
...
一种可弹性伸缩的分布式服务管理系统及其方法

【技术保护点】
一种可弹性伸缩的分布式服务管理系统,该系统包括:服务发布组件,负责将业务功能模块对外、对内提供的功能发布为服务,服务交互过程中传输数据支持结构化数据和非结构化数据;服务注册中心,用于实现分布式系统的服务发现与配置;接收业务应用启动时发布的服务信息,并将所述业务应用加入服务池并生成服务代理;在服务消费者发起调用时,获取所述调用对应的服务提供者的位置信息以及服务代理,并将所述服务代理绑定到相应的位置以发起服务调用;编程模型,通过分层结构实现用户请求数据的通用功能。

【技术特征摘要】
1.一种可弹性伸缩的分布式服务管理系统,该系统包括:服务发布组件,负责将业务功能模块对外、对内提供的功能发布为服务,服务交互过程中传输数据支持结构化数据和非结构化数据;服务注册中心,用于实现分布式系统的服务发现与配置;接收业务应用启动时发布的服务信息,并将所述业务应用加入服务池并生成服务代理;在服务消费者发起调用时,获取所述调用对应的服务提供者的位置信息以及服务代理,并将所述服务代理绑定到相应的位置以发起服务调用;编程模型,通过分层结构实现用户请求数据的通用功能。2.根据权利要求1所述的分布式服务管理系统,其特征在于,所述服务发布组件中,服务发布机制支持RMI、Restful/JSON以及BladeDS、WebService方式,Flex客户端与服务交互支持BladeDS方式,同质系统之间的服务调用支持RMI以及Restful/JSON方式,异质系统之间集成支持WebService、JMS方式。3.根据权利要求1所述的分布式服务管理系统,其特征在于,上述非结构化数据为xml、html、视频、音频或图片数据。4.根据权利要求1所述的分布式服务管理系统,其特征在于,所述服务注册中心为对等集群,服务提供者无状态,注册中心将推送新的服务提供者信息给消费者。5.根据权利要求1所述的分布式服务管理系统,其特征在于,所述服务代理包括业务功能模块中领域模型对应的Java对象以及Java接口;支持生成开发期间的服务代理sdk以及运行期间驻留在服务注册中心的服务代理对象。6.根据权利要求1所述的分布式服务管理系统,其特征在于,所述通用功能包括数据的格式化、传输、封包与解包和URL处理。7.根据权利要求1所述的分布式服务管理系统,其特征在于,所述编程模型中通过分层结构分为如下:接口层,定义消息语义,定义服务调用语义,定义技术服务调用语义;运行层,负责控制一个服务同时处理的消息数量,控制在内部出错时提供给服务消费者的信息,控制所请求服务实现的实例化处理,控制服务调用的事务语义;消息层,通过消息分发管道达到自定义消息分发的目的,包括传输管道和协议管道两种,传输管道支持物理消息分发传输。8.一种用于权利要求1-7中任一项所述的服务管理系统的分布式服务的提供方法,其特征在于,其方法包括以下具体步骤:服务评分,服务管理系统在接收到服务请求后,以服务池为单位,实时搜集单个服务运行的质量指标数据,根据权重进行综合评分;服务匹配,根据服务请求命中到的一组候选服务,选取健康分值最高的进行匹配;服务动态绑定,获取到健康分值最高的服务提供者的IP地址和端口号,动态绑定到服务代理上,即可将服务请求分配到最合适的服务提供者;服务弹性伸缩,某类服务的综合评分反映到对应服务池的评分,当服务池的评分低于指定阈值时,自动启动该类服务的实例并添加到服务池,当服务池的评分高于指定阈值时,自动停止该类服务的实例并从服务池注销。9.根据权利要求8所述的提供方法,其特征在于,其还包括:建立服务质量评价模型,模型涉及的质量指标分为通用指标和业务指标;业务指标由应用定义,通过服务框架自动添加到请求的上下文中,业务插件负责根据规则计算,计算的数值由服务框架进行记录;确定权重,基于已经积累下来的服务质量数据作为样本,采取自定义的量化方法计算各指标的权重。10.根据权利要求8所述的提供方法,其特征在于,服务代理定期更新候选服务集合,一旦发现原来的最优服务不可用或者服务质量等级有所下降,或者有新的且满足要求的质量等级的服务出现,服务代理就及时自动重新绑定服务。11.根据权利要求9所述的提供方法,其特征...

【专利技术属性】
技术研发人员:郑浩泉孟庆强张春平胡牧林峰杨志孙立华刘铭张琦黄太贵吴舜
申请(专利权)人:国家电网公司南京南瑞集团公司南京南瑞信息通信科技有限公司国网安徽省电力公司国网冀北电力有限公司国网冀北电力有限公司信息通信分公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1