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.一种可弹性伸缩的分布式服务管理系统,该系统包括:服务发布组件,负责将业务功能模块对外、对内提供的功能发布为服务,服务交互过程中传输数据支持结构化数据和非结构化数据;服务注册中心,用于实现分布式系统的服务发现与配置;接收业务应用启动时发布的服务信息,并将所述业务应用加入服务池并生成服务代理;在服务消费者发起调用时,获取所述调用对应的服务提供者的位置信息以及服务代理,并将所述服务代理绑定到相应的位置以发起服务调用;编程模型,通过分层结构实现用户请求数据的通用功能。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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。