单Web项目支持多服务架构的方法、装置、设备和介质制造方法及图纸

技术编号:26926470 阅读:21 留言:0更新日期:2021-01-01 22:55
本发明专利技术提供一种单Web项目支持多服务架构的方法、装置、设备和介质,方法包括:S1、接受用户对单Web项目的服务模式的配置;S2、接受用户对所述单Web项目中网关层的配置,以支持相应的服务模式;S3、单Web项目部署至生产环境;S4、在接收到外部接口请求时,若为微服务架构模式,通过feign将所述外部接口的请求转发至各子业务模块对应接口;若为单体应用架构模式,则通过反射机制构建所述外部接口对应子业务模块的完整类名及具体接口函数,供直接调用;S5、各子业务模块完成对所述外部接口的请求的处理后,再由网关层统一响应至所述外部接口。从而实现单Web项目支持多服务架构,通过少量的配置修改就能满足不同生产环境的需求。

【技术实现步骤摘要】
单Web项目支持多服务架构的方法、装置、设备和介质
本专利技术涉及计算机
,特别涉及一种基于springcloud的单个Web项目同时支持多种服务架构的方法、装置、设备和介质。
技术介绍
微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术,易于开发和维护。但运维要求高、分布式固有的复杂性也会带来一定的问题,接口调整成本高,因此比较适合企业项目较大的情况。Springcloud架构就是将整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯。它们彼此相互协作,作为一个整体为用户提供功能,却可以独立地进行扩展。单体应用架构在小微企业比较常见,典型代表就是一个应用、一个数据库、一个Web容器就可以运行。便于共享、易于测试、易于部署。但若发展到后期,整个项目文件包含的模块非常多,会导致模块的边界模糊、依赖关系不清晰,使得整个项目非常复杂,不易于开发和维护。因此比较适合于企业发展的初期项目简单的情况,为了保证服务能快速上线,采用此种方案较为简单灵活。显然微服务架构和单体应用架构各有千秋,若能在单个基于springcloud的Web项目中同时支撑微服务架构模式和单体应用服务架构模式,则可以适应企业不同的发展阶段,减少了服务架构更新换代的成本。
技术实现思路
本专利技术要解决的技术问题,在于提供一种单Web项目支持多服务架构的方法方法、装置、设备和介质,能在单个基于springcloud的Web项目中同时支撑微服务架构模式和单体应用架构模式,通过少量的配置修改就能满足不同生产环境的需求。第一方面,本专利技术提供了一种单Web项目支持多服务架构的方法,包括下述步骤:S1、通过项目配置文件接受用户对所述单Web项目的服务模式的开关配置项的配置,所述服务模式为微服务架构模式或者单体应用架构模式;S2、接受用户对所述单Web项目中网关层的配置;若为微服务架构模式,各子业务模块配置文件修改为支持微服务架构模式;若为单体应用架构模式,各子业务模块配置文件修改为支持单体应用架构模式;S3、所述单Web项目部署至生产环境,等待外部接口的请求;S4、在接收到外部接口请求时,首先通过所述网关层读取所述项目配置文件中的开关配置项,判断服务模式是微服务架构模式还是单体应用架构模式:若为微服务架构模式,则通过feign将所述外部接口的请求转发至各子业务模块对应接口;若为单体应用架构模式,则通过反射机制构建所述外部接口对应子业务模块的完整类名及具体接口函数,供直接调用;S5、所述子业务模块完成对所述外部接口的请求的处理后,再由网关层统一响应至所述外部接口。第二方面,本专利技术提供了一种单Web项目支持多服务架构的装置,包括:模式配置模块,用于通过项目配置文件接受用户对所述单Web项目的服务模式的开关配置项的配置,所述服务模式为微服务架构模式或者单体应用架构模式;网关层配置模块,用于接受用户对所述单Web项目中网关层的配置;若为微服务架构模式,各子业务模块配置文件修改为支持微服务架构模式;若为单体应用架构模式,各子业务模块配置文件修改为支持单体应用架构模式;项目部署模块,用于所述单Web项目部署至生产环境,等待外部接口的请求;请求响应模块,用于在接收到外部接口的请求时,首先通过所述网关层读取所述项目配置文件中的开关配置项,判断服务模式是微服务架构模式还是单体应用架构模式:若为微服务架构模式,则通过feign将所述外部接口的请求转发至各子业务模块对应接口;若为单体应用架构模式,则通过反射机制构建所述外部接口对应子业务模块的完整类名及具体接口函数,供直接调用;处理结果响应模块,用于在所述子业务模块完成对所述外部接口请求的处理后,统一通过网关层响应至所述外部接口。第三方面,本专利技术提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。第四方面,本专利技术提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:通过项目配置文件实现对单Web项目支持多服务架构进行配置,同时提供网关层的配置,以分别可支持微服务架构模式和单体应用架构模式,并在外部接口调用时,提供两种模块下的请求响应机制,从而实现了能在单个基于springcloud的Web项目中同时支撑微服务架构模式和单体应用架构模式,且通过少量的配置修改就能满足不同生产环境的需求,以适应企业不同的发展阶段,减少了服务架构更新换代的成本。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术实施例一中方法中的流程图;图2为本专利技术实施例二中装置的结构示意图;图3为本专利技术实施例三中电子设备的结构示意图;图4为本专利技术实施例四中介质的结构示意图。具体实施方式本申请实施例通过提供一种单Web项目支持多服务架构的方法、装置、设备及介质,能在单个基于springcloud的Web项目中同时支撑微服务架构模式和单体应用架构模式,通过少量的配置修改就能满足不同生产环境的需求。本申请实施例中的技术方案,总体思路如下:通过项目配置文件实现对单Web项目支持多服务架构进行配置,同时提供网关层的配置,以分别可支持微服务架构模式和单体应用架构模式,并在外部接口调用时,提供两种模块下的请求响应机制,从而实现了能在单个基于springcloud的Web项目中同时支撑微服务架构模式和单体应用架构模式,且通过少量的配置修改就能满足不同生产环境的需求,以适应企业不同的发展阶段,减少了服务架构更新换代的成本。实施例一如图1所示,本实施例提供一种单Web项目支持多服务架构的方法,包括下述步骤:S1、通过项目配置文件接受用户对所述单Web项目的服务模式的开关配置项的配置,所述服务模式为微服务架构模式或者单体应用架构模式;S2、接受用户对所述单Web项目中网关层的配置;若为微服务架构模式,各子业务模块配置文件修改为支持微服务架构模式;若为单体应用架构模式,各子业务模块配置文件修改为支持单体应用架构模式;S3、所述单Web项目部署至生产环境,等待外部接口的请求;S4、在接收到外部接口请求时,首先通过所述网关层读取所述项目配置文件中的开关配置项,判断服务模式是微服本文档来自技高网
...

【技术保护点】
1.一种单Web项目支持多服务架构的方法,其特征在于:包括下述步骤:/nS1、通过项目配置文件接受用户对所述单Web项目的服务模式的开关配置项的配置,所述服务模式为微服务架构模式或者单体应用架构模式;/nS2、接受用户对所述单Web项目中网关层的配置;若为微服务架构模式,各子业务模块配置文件修改为支持微服务架构模式;若为单体应用架构模式,各子业务模块配置文件修改为支持单体应用架构模式;/nS3、所述单Web项目部署至生产环境,等待外部接口的请求;/nS4、在接收到外部接口请求时,首先通过所述网关层读取所述项目配置文件中的开关配置项,判断服务模式是微服务架构模式还是单体应用架构模式:/n若为微服务架构模式,则通过feign将所述外部接口的请求转发至各子业务模块对应接口;/n若为单体应用架构模式,则通过反射机制构建所述外部接口对应子业务模块的完整类名及具体接口函数,供直接调用;/nS5、所述子业务模块完成对所述外部接口的请求的处理后,再由网关层统一响应至所述外部接口。/n

【技术特征摘要】
1.一种单Web项目支持多服务架构的方法,其特征在于:包括下述步骤:
S1、通过项目配置文件接受用户对所述单Web项目的服务模式的开关配置项的配置,所述服务模式为微服务架构模式或者单体应用架构模式;
S2、接受用户对所述单Web项目中网关层的配置;若为微服务架构模式,各子业务模块配置文件修改为支持微服务架构模式;若为单体应用架构模式,各子业务模块配置文件修改为支持单体应用架构模式;
S3、所述单Web项目部署至生产环境,等待外部接口的请求;
S4、在接收到外部接口请求时,首先通过所述网关层读取所述项目配置文件中的开关配置项,判断服务模式是微服务架构模式还是单体应用架构模式:
若为微服务架构模式,则通过feign将所述外部接口的请求转发至各子业务模块对应接口;
若为单体应用架构模式,则通过反射机制构建所述外部接口对应子业务模块的完整类名及具体接口函数,供直接调用;
S5、所述子业务模块完成对所述外部接口的请求的处理后,再由网关层统一响应至所述外部接口。


2.根据权利要求1所述的单Web项目支持多服务架构的方法,其特征在于:
所述项目配置文件还包括feign转发开关配置项,所述步骤S1中,还通过所述项目配置文件接受用户对所述feign转发开关配置项的配置。


3.根据权利要求1所述的单Web项目支持多服务架构的方法,其特征在于:
所述步骤S4中:通过统一的代码FeignUtil类,在内部函数里对服务模式做判断,然后暴露统一的业务接口函数供两个服务模式下的各子业务模块调用,从而使两个服务模式的各子业务模块无需关注自己是处于哪个服务模式,只需关注自身业务就行,实现了两个服务模式的代码脱耦。


4.一种单Web项目支持多服务架构的装置,其特征在于:包括:
模式配置模块,用于通过项目配置文件接受用户对所述单Web项目的服务模式的开关配置项的配置,所述服务模式为...

【专利技术属性】
技术研发人员:刘平
申请(专利权)人:福建摩尔软件有限公司
类型:发明
国别省市:福建;35

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

1