首页> 中国专利> 一种基于微服务和顶层设计的建立系统的方法及系统

一种基于微服务和顶层设计的建立系统的方法及系统

摘要

本发明公开了一种基于微服务和顶层设计的建立系统的方法及系统,其中方法包括:建立微服务新开发项目,导入已有代码项目并建立持续集成和持续部署功能;基于所述持续集成和持续部署功能对微服务平台托管的代码项目进行持续集成和持续部署;对微服务平台托管的代码项目进行远程调试;对于已添加的开发项目,将开发场景中建立的微服务应用部署到指定部署环境中,并且将开发场景中建立的应用升级部署到指定部署环境中;对于部署状态的微服务应用,对部署状态的微服务应用的数据库中间件进行部署;将多个微服务应用编排成一个微服务应用,建立微服务架构的微服务应用系统。

著录项

  • 公开/公告号CN112711397A

    专利类型发明专利

  • 公开/公告日2021-04-27

    原文格式PDF

  • 申请/专利权人 航天信息股份有限公司;

    申请/专利号CN202011592636.1

  • 发明设计人 贺复生;左庆文;张伟;

    申请日2020-12-29

  • 分类号G06F8/20(20180101);G06F8/60(20180101);G06F8/65(20180101);G06F8/71(20180101);G06F11/36(20060101);

  • 代理机构11266 北京工信联合知识产权代理有限公司;

  • 代理人贾银秋

  • 地址 100195 北京市海淀区杏石口路甲18号

  • 入库时间 2023-06-19 10:46:31

说明书

技术领域

本发明涉及计算机应用技术领域,更具体地,涉及一种基于微服务和顶层设计的建立系统的方法及系统。

背景技术

微服务是系统架构上的一种设计风格,主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP/HTTPS协议的RESTful API进行通信协作,也可以通过RPC协议进行通信协作。被拆分成的每一个小型服务都围绕着系统中一些耦合度较高的业务功能进行构建,并且每个服务都维护着自身的数据存储,业务开发,自动化测试案例以及独立部署机制。由于有了轻量级的通信协作基础,所以这些微服务可以使用不同的语言来编写。

发明内容

本发明技术方案提供一种基于微服务和顶层设计的建立系统的方法及系统,以解决如何基于微服务和顶层设计的建立系统的问题。

为了解决上述问题,本发明提供了一种基于微服务和顶层设计的建立系统的方法,所述方法包括:

建立微服务新开发项目,导入已有代码项目并建立持续集成和持续部署功能;

基于所述持续集成和持续部署功能对微服务平台托管的代码项目进行持续集成和持续部署;

对微服务平台托管的代码项目进行远程调试;

对于已添加的开发项目,将开发场景中建立的微服务应用部署到指定部署环境中,并且将开发场景中建立的应用升级部署到指定部署环境中;

对于部署状态的微服务应用,对部署状态的微服务应用的数据库中间件进行部署;

将多个微服务应用编排成一个微服务应用,建立微服务架构的微服务应用系统。

优选地,所述对微服务平台托管的代码项目进行远程调试,包括:

选择集成环境中运行的微服务,将选择出的微服务的访问请求路由到本地处于调度状态的微服务运行实例。

优选地,还包括:建立单点登录中间件部署,通过部署单点登录产品,作为中间件的用户场景。

优选地,还包括:建立微服务应用审核;

微服务应用在部署之前,在配置中开启对微服务应用的安全性进行审核。

优选地,还包括:建立关联远程中心;

将多个中心在不同地理位置进行部署;

建立多个中心的关联,使得微服务应用和微服务模版实现跨中心推送,使得所述微服务应用集成中在一个中心进行编排。

优选地,还包括:对微服务应用进行跨中心网络推送;

将所述微服务应用从初始中心推送至目标中心;

将所述微服务应用在目标中心进行配置后进行上线。

基于本发明的另一方面,本发明提供一种基于微服务和顶层设计的建立系统的系统,所述系统包括:

初始单元,用于建立微服务新开发项目,导入已有代码项目并建立持续集成和持续部署功能;基于所述持续集成和持续部署功能对微服务平台托管的代码项目进行持续集成和持续部署;

调试单元,用于对微服务平台托管的代码项目进行远程调试;

部署单元,用于对于已添加的开发项目,将开发场景中建立的微服务应用部署到指定部署环境中,并且将开发场景中建立的微服务应用升级部署到指定部署环境中;对于部署状态的微服务应用,对部署状态的微服务应用的数据库中间件进行部署;

建立单元,用于将多个微服务应用编排成一个微服务应用,建立微服务架构的微服务应用系统。

优选地,所述调试单元,用于对微服务平台托管的代码项目进行远程调试,还用于:

选择集成环境中运行的微服务,将选择出的微服务的访问请求路由到本地处于调度状态的微服务运行实例。

优选地,所述部署单元,还用于建立单点登录中间件部署,通过部署单点登录产品,作为中间件的用户场景。

优选地,还包括审核单元,用于建立微服务应用审核;

微服务应用在部署之前,在配置中开启对微服务应用的安全性进行审核。

优选地,所述部署单元,还用于建立关联远程中心;

将多个中心在不同地理位置进行部署;

建立多个中心的关联,使得微服务应用和微服务模版实现跨中心推送,使得所述微服务应用集成中在一个中心进行编排。

优选地,还包括推送单元,用于对微服务应用进行跨中心网络推送;

将所述微服务应用从初始中心推送至目标中心;

将所述微服务应用在目标中心进行配置后进行上线。

本发明技术方案提供新一代企业级应用的统一开发和运维支撑平台,是基于容器集群技术的企业应用的私有云平台(PaaS)。基于本发明提供的服务所形成的基础设施平台,软件开发和运维公司在处理应用的时候,可以获得应用的从开发到运维全生命周期的支撑,团队可以方便的实现高效的DevOps开发运维文化;满足越来越强烈的应用现代化和敏捷化的时代要求。并且最终帮助企业应用在运维环节实现自动化和智能化。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明优选实施方式的基于微服务和顶层设计的建立系统的方法流程图;以及

图2为根据本发明优选实施方式的基于微服务和顶层设计的建立系统的系统结构图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为根据本发明优选实施方式的基于微服务和顶层设计的建立系统的方法流程图。本发明的场景为选择微服务架构技术的开发团队提供微服务全生命周期治理过程的研发侧支持。本发明能够便捷的,快速的创建符合团队技术栈的微服务工程模板,同时为新代码工程配置CI/CD管道流服务。方便研发团队实践测试驱动的开发理念,降低用户开发微服务架构应用的技术门槛,提高微服务系统的整体质量。本发明为选择微服务架构技术的开发团队提供微服务全生命周期治理过程的研发侧支持。能够便捷的,快速的创建符合团队技术栈的微服务工程模板,同时为新代码工程配置CI/CD管道流服务。方便研发团队实践测试驱动的开发理念,降低用户开发微服务架构应用的技术门槛,提高微服务系统的整体质量。

如图1所示,本发明提供一种基于微服务和顶层设计的建立系统的方法,方法包括:

步骤101:建立微服务新开发项目,导入已有代码项目并建立持续集成和持续部署功能。

本发明新建微服务代码项目工程并建立CI/CD能力。本发明通过在微服务平台上建立新开发项目,提供代码到镜像的端到端的支持能力。

本发明导入已有代码项目并建立CI/CD能力,使得已经存在的代码项目可以借助微服务平台提供的端到端支持能力加快迭代开发速度。

本发明准备一个新的部署环境,进入环境配置->部署环境管理->“新增”一个部署环境。

将该环境的网络策略去除,点击环境配置->部署环境管理->在列表找到刚刚创建的部署环境并点击“策略”->“清空策略”。

准备一个应用,点击微服务运行->应用管理->新增一个应用->在应用配置页面的“测试环境”选择刚刚创建的部署环境->保存。

准备一个外部“私有仓库”,在“私有仓库”中填写一个build.sh,用做项目的启动步骤;准备一个Dockerfile,作为项目的构建。

点击微服务研发->配置Git->新增->添加相应的仓库->保存之后点击“测试”按钮->测试拉取成功则进行测试,否则检查填写信息是否正确。

步骤102:基于持续集成和持续部署功能对微服务平台托管的代码项目进行持续集成和持续部署;

本发明对微服务平台托管的代码项目持续集成,持续部署,对于微服务平台托管的代码项目,开发人员每一次提交都会部署到集成测试环境,使测试工作尽早开展,实践测试驱动的开发理念,提升开发团队工作流转的效率和效果。

准备工作包括:有一个已经成功新增或者导入的项目。

步骤103:对微服务平台托管的代码项目进行远程调试;

本发明对微服务平台托管的代码项目启动远程调试,对于集成环境中运行的微服务,开发人员可以选择一个微服务,并把此微服务的访问请求路由到本地处于调试状态的微服务运行实例。开发人员能够在集成测试环境下部署一套微服务应用,针对其中个别微服务进行本地化调试的能力。

准备工作包括:有一个已经成功新增或者导入的项目,以及在本地开启该项目。

步骤104:对于已添加的开发项目,将开发场景中建立的应用部署到指定部署环境中,并且将开发场景中建立的应用升级部署到指定部署环境中。

本发明把开发场景中构建的应用部署到指定部署环境,微服务全生命周期管理中,微服务从开发阶段到运营阶段快速流转,实践开发运维一体化的先进理念,提升IT开发部门的敏捷性。

准备工作包括:建立一个或者多个开发项目;新增一个部署环境;把开发场景中构建的应用升级部署到指定部署环境。

本发明在微服务全生命周期中,在新业务需求驱动下,微服务不断开发迭代,新的发布版本从开发阶段到运营阶段快速流转,实现版本升级而业务系统不间断运行。实践开发运维一体化的先进理念,提升IT开发部门的敏捷性。

准备工作包括:准备一个已经处于部署状态的应用,以及数据库中间件部署。

作为中间件资源丰富的PaaS平台产品,在指定部署环境中部署数据库产品(以商业版本的数据库为例:MS Sql Server和Oracle)。为业务开发和创新提供宽广的工作平台。

准备工作包括:在私有中间件仓库中,准备好已经改造过的中间件Oracle和MSSql Server。准备好一个部署环境(注意配额设置,尽量大一些)。

步骤105:对于部署状态的微服务应用,对部署状态的微服务应用的数据库中间件进行部署;

本发明实现对单点登录中间件进行部署,部署单点登录产品(比如keycloak),作为中间件的用户场景。通过管理平台能够在指定部署环境中部署。

步骤106:将多个微服务编排成一个微服务应用,建立微服务架构的微服务应用系统。

本发明编排一个简单的微服务架构应用系统,把多个微服务编排成一个应用,并快速部署在集群中。

准备工作包括:需要一个应用的生产部署环境,以及组成应用的多个微服务模板。

优选地,对微服务平台托管的代码项目进行远程调试,包括:

选择集成环境中运行的微服务,将选择出的微服务的访问请求路由到本地处于调度状态的微服务运行实例。

本发明通过微服务平台托管的代码项目启动远程调试,对于集成环境中运行的微服务,开发人员可以选择一个微服务,并把此微服务的访问请求路由到本地处于调试状态的微服务运行实例。开发人员能够在集成测试环境下部署一套微服务应用,针对其中个别微服务进行本地化调试的能力。

准备工作包括:有一个已经成功新增或者导入的项目,以及在本地开启该项目。

优选地,还包括:建立单点登录中间件部署,通过部署单点登录产品,作为中间件的用户场景。

本发明进行单点登录中间件部署,部署单点登录产品(比如keycloak),作为中间件的用户场景。通过管理平台能够在指定部署环境中部署。

准备工作包括:在私有中间件仓库中,准备一个已经改造过的中间件keycloak,以及准备好一个部署环境(注意配额设置,尽量大一些)。

优选地,还包括:建立微服务应用审核;微服务应用在部署之前,在配置中开启对微服务应用的安全性进行审核。

本发明进行应用审核的开启/关闭,如果希望每个微服务应用包在部署之前,从安全性的角度对应用行为进行考察和审核,可以在配置中开启应用审核。

准备工作包括:

请在开启应用审核前,将待部署的可信任应用部署,待您开启应用审核后,未经审核的应用将不能部署(不会影响已经部署的应用)。

系统管理员在用户管理模块中创建应用提供者和应用审核者帐号,并分配需要的权限。

在参数设置页面,管理员应该打开审核开关。

优选地,还包括:建立关联远程中心;

将多个中心在不同地理位置进行部署;

建立多个中心的关联,使得微服务应用和微服务模版实现跨中心推送,使得微服务应用集成中在一个中心进行编排。

本发明建立关联远程中心,将多个中心在不同地理位置部署。多个中心关联以后,应用和微服务模板能够跨中心推送,从而能够实现复杂企业应用在一个中心编排,能够多个中心快速复制上线的功能。

准备工作包括:获取和纪录另一个正常工作的远程中心IP地址和中心服务端口,以及应用跨中心网络推送。

本发明实现了在中心间网络开放的情况下,从一个中心推送应用到另一个中心,在目的地中心经过简单的应用配置,应用就能够快速上线。

准备工作包括创建一个准备推送到其他中心的应用包,并发布。

优选地,还包括:对微服务应用进行跨中心网络推送;将微服务应用从初始中心推送至目标中心;将微服务应用在目标中心进行配置后进行上线。

本发明应用跨中心网络推送,在中心间网络开放的情况下,从一个中心推送应用到另一个中心,在目的地中心经过简单的应用配置,应用就能够快速上线。

准备工作包括创建一个准备推送到其他中心的应用包,并发布。

本发明还可以应用于服务注册,微服务在API网关的注册以后,微服务能够被集群外部访问。API网关为注册的微服务能提供一些基础设施服务。

准备工作包括:准备示例服务镜像,确保harbor库存在该镜像。(registry.timeondata.com/apigateway/qotm:1.1)

网关访问地址:http://{节点IP地址}:29196/ambassador/v0/diag/。

创建测试部署环境,英文名字:auth-api

本发明应用部署把应用从配置状态运行为一个部署环境中的实例,并能够对外提供服务。

准备工作包括:创建必要的生产部署环境。

本发明实施方式快速实现“三合一”业务融合,实现了业务应用的快速迁移,离线/在线方式一键部署,实现了业务应用的修改、迭代、回滚。

本发明实现了业务需求快速响应,通过微服务化实现化整为零、小步快跑、快速响应,实现互联网+政务转型。

本发明实现了业务与平台解耦、应用与技术解耦,统一应用架构、开发标准,解决厂商绑定问题,支持多厂商并行开发,构建开放应用生态

本发明开发框架、开发语言自由选择,技术开放、解耦。实现了海量用户并发服务。

本发明集中式架构向分布式架构转型,低成本横向扩展,满足互联网+政务的海量用户突发访问需求。

图2为根据本发明优选实施方式的基于微服务和顶层设计的建立系统的系统结构图。如图2所示,本发明提供一种基于微服务和顶层设计的建立系统的系统,系统包括:

初始单元201,用于建立微服务新开发项目,导入已有代码项目并建立持续集成和持续部署功能;基于持续集成和持续部署功能对微服务平台托管的代码项目进行持续集成和持续部署;

调试单元202,用于对微服务平台托管的代码项目进行远程调试;

部署单元203,用于对于已添加的开发项目,将开发场景中建立的微服务应用部署到指定部署环境中,并且将开发场景中建立的微服务应用升级部署到指定部署环境中;对于部署状态的微服务应用,对部署状态的微服务应用的数据库中间件进行部署;

建立单元204,用于将多个微服务应用编排成一个微服务应用,建立微服务架构的微服务应用系统。

优选地,调试单元202,用于对微服务平台托管的代码项目进行远程调试,还用于:

选择集成环境中运行的微服务,将选择出的微服务的访问请求路由到本地处于调度状态的微服务运行实例。

优选地,部署单元203,还用于建立单点登录中间件部署,通过部署单点登录产品,作为中间件的用户场景。

优选地,系统还包括审核单元,用于建立微服务应用审核;微服务应用在部署之前,在配置中开启对微服务应用的安全性进行审核。

优选地,部署单元203,还用于建立关联远程中心;

将多个中心在不同地理位置进行部署;

建立多个中心的关联,使得微服务应用和微服务模版实现跨中心推送,使得微服务应用集成中在一个中心进行编排。

优选地,系统还包括推送单元,用于对微服务应用进行跨中心网络推送;

将微服务应用从初始中心推送至目标中心;

将微服务应用在目标中心进行配置后进行上线。

本发明优选实施方式的基于微服务和顶层设计的建立系统的系统200与本发明优选实施方式的基于微服务和顶层设计的建立系统的方法100相对应,在此不再进行赘述。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号