基于dubbo发布服务实现项目模块化可插拔的方法技术

技术编号:16885753 阅读:23 留言:0更新日期:2017-12-27 03:33
本发明专利技术涉及javaEE应用软件领域,公开了一种基于dubbo发布服务实现项目模块化可插拔的方法,减少项目在开发过程中的改动,增加项目的可扩展性。本发明专利技术包括:抽取整个项目服务层部分单独构建dubbo项目;将dubbo项目发布的服务注册到注册中心;构建项目核心工程;核心工程调用注册中心提供的服务来完成核心功能;将核心工程提供的服务注册到其它注册中心并对外提供服务。本发明专利技术适用于javeEE项目开发。

The method of realizing project modularized and pluggable based on Dubbo publishing service

The invention relates to the field of javaEE application software, and discloses a method based on Dubbo publishing service to realize modular modularized and pluggable method, which reduces changes in the development process of projects, and increases the scalability of projects. The invention comprises: extracting the entire project service layer separate part build Dubbo project; Dubbo project will be released and registered in the registration center; construction project core engineering; provide the core projects called registry services to complete the core function; the core of the project to provide a service to other registration center and registration service. The invention is suitable for the development of javeEE project.

【技术实现步骤摘要】
基于dubbo发布服务实现项目模块化可插拔的方法
本专利技术涉及javaEE应用软件领域,特别涉及基于dubbo发布服务实现项目模块化可插拔的方法。
技术介绍
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,javeEE主要用于企业级应用开发,在电商行业、服务器开发等领域都有着重要的分量。dubbo用于大规模服务化,服务方和消费方仅在启动时才与注册中心交互(注册中心:服务方注册,消费方订阅),注册中心不做请求转发,减少其压力,服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销,服务消费者采用拉取的方式,调用注册中心的服务接口列表,获取服务,并根据负载算法直接调用提供者,实现软负载均衡,减轻软硬件压力。所以,本说明结合dubbo和javaEE来开发,使得项目模块更清晰,耦合度更低,模块的增减更容易。传统的项目结构太过统一化,不同功能的模块全部整合在一起,对于单个模块的删除,修改,功能增加等操作都会对整个工程产生不同程度的影响,对于此种情况,本专利技术可使用dubbo框架,采用注册服务的方式来解决此问题,不同的模块注册不同的服务,单个模块的修改,增加,删除等操作都不会影响到项目其他部分。
技术实现思路
本专利技术要解决的技术问题是:提供一种基于dubbo发布服务实现项目模块化可插拔的方法,减少项目在开发过程中的改动,增加项目的可扩展性。为解决上述问题,本专利技术采用的技术方案是:基于dubbo发布服务实现项目模块化可插拔的方法,包括以下步骤:步骤1:抽取整个项目服务层部分单独构建dubbo项目;步骤2:将dubbo项目发布的服务注册到注册中心;步骤3:构建项目核心工程;步骤4:核心工程调用注册中心提供的服务来完成核心功能;步骤5:将核心工程提供的服务注册到其它注册中心并对外提供服务。进一步的,步骤1单独构建dubbo项目的方法为:将项目结构以模块划分,对每一个模块采用dubbo发布服务的形式发布。进一步的,注册中心以zookpeer作为dubbo注册服务的地址。本专利技术的有益效果是:本专利技术减少了项目开发过程中源代码改动,增加了项目的模块化结构,降低了耦合度,增强了项目模块的扩展性,可以灵活地进行模块的插拔而不影响源程序的功能,迭代新更好。附图说明图1为dubbo模块化发布服务结构图。图中编号:1为服务提供者、2为注册中心、3为项目核心部分、4为注册中心、5为服务消费者终端。具体实施方式项目开发的流程,根据需求确定项目功能,开始进行接口的开发,接口的对接,需求更改之后又要进行接口的修改,如果有新增功能或者删除,再次进行代码修改,更新,可能会影响原项目结构,导致代码改动很大,源程序功能可能受影响。总结如下:1.接口初次开发,对接2.需求更改,进行代码修改,原程序功能可能受影响3.功能新增或删除,可能会影响源代码结构,原程序功能可能受影响。在上诉情况中,有两种情况都会导致代码修改,影响源程序功能和结构,针对这种修改代码造成的源程序受影响,本专利技术采用以下方式解决:1.将项目结构以模块划分,对每一个模块采用dubbo发布服务的形式发布,这样在修改代码时可以管已经发布的服务,重新修改完代码之后,将服务重新发布到dbbo上,替换掉原来的dubbo服务,整个过程源程序功能不受影响。2.功能新增的时候,如果该功能不属于任何一个模块,就新建一个模块,开发完成之后,同样以dubbo的方式发布服务,源程序无改动。3.功能删除的时候,如果整个模块的功能都不需要了,直接将这个模块取消dubbo上取消这个模块的服务发布,对源程序无影响,对其他功能无影响。综上,实施例提供一种基于dubbo发布服务实现项目模块化可插拔的方法,首先,安装zookpeer,作为dubbo注册服务的地址,程序通过找zookpeer来找到dubbo发布的服务,并使用;然后,将工程分为若干个模块,具体如下:a.抽取整个项目服务层部分,为每一个模块搭建基于dubbo框架的若干个工程,每个工程之间相互独立,用于发布服务的dubbo工程称为服务提供者,将需要发布的服务的代码写在dubbo工程中,然后将这些多个服务提供者注册到zookeeper,供消费者调用。b.当服务注册完成之后,搭建消费者工程,也就是需要调用服务者提供服务的工程,这个时候只需要给消费者工程注册中心zookeeper的地址,消费者就可以调用该注册中心所有的服务,消费者可以选择性调用。c.项目在发布之后,可能会存在版本的变更,需求的变更和新增,此时,不需要再去更改已经发布的项目,而只需要将服务部分代码更新之后,重新注册到注册中心即可,不影响用户的使用,如有bug需要修复的时候只需要停掉该部分的dubbo服务,对项目其他部分功能没有任何影响。d.如图1所示,在此过程中项目核心部分会有很多的功能需要实现,在功能实现过程中,将服务抽取出来,单独作为一个一个的模块项目,也就是图中的1,图中的1完成之后,注册到注册中心2,向项目核心部分3提供服务,核心部分调用服务,完成其功能,再注册到注册中心4(注册中心4和注册中心2为不同的注册中心),向外提供服务,也就是向服务消费者终端5提供服务。e.整个过程中当项目需要增加需求时,只需要再次将其他的需求建立成相应的模块工程,再将其注册到注册中心即可。当服务提供者1中的某一个出现bug或者需要更新的时候,只需要停掉该服务提供者,项目其他部分依然正常工作。当该服务提供者的bug修复或者更新完成之后,只需要重新注册到注册中心即可继续向服务消费者提供服务。在整个过程中,实现了项目结构的模块化,可插拔式,利于项目的更新,修正和扩展。以上描述了本专利技术的基本原理和主要的特征,说明书的描述只是说明本专利技术的原理,在不脱离本专利技术精神和范围的前提下,本专利技术还会有各种变化和改进,这些变化和改进都落入要求保护的本专利技术范围内。本文档来自技高网...
基于dubbo发布服务实现项目模块化可插拔的方法

【技术保护点】
基于dubbo发布服务实现项目模块化可插拔的方法,其特征在于,包括以下步骤:步骤1:抽取整个项目服务层部分单独构建dubbo项目;步骤2:将dubbo项目发布的服务注册到注册中心;步骤3:构建项目核心工程;步骤4:核心工程调用注册中心提供的服务来完成核心功能;步骤5:将核心工程提供的服务注册到其它注册中心并对外提供服务。

【技术特征摘要】
1.基于dubbo发布服务实现项目模块化可插拔的方法,其特征在于,包括以下步骤:步骤1:抽取整个项目服务层部分单独构建dubbo项目;步骤2:将dubbo项目发布的服务注册到注册中心;步骤3:构建项目核心工程;步骤4:核心工程调用注册中心提供的服务来完成核心功能;步骤5:将核心工程提供的服务注册到其它注册中心并对外提供服务。2...

【专利技术属性】
技术研发人员:王涛唐军蒲文龙
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

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

1