一种基于微服务架构的云管理系统技术领域
本发明涉及数据处理领域,具体涉及一种基于微服务架构的云管理系统。
背景技术
随着云计算技术的日渐成熟,云虚拟化、云网络以及云安全等技术也在不断发展。
目前,云计算大规模应用的技术条件和环境已经具备,云数据中心的建设已经成为未来的
趋势。
但是,目前的云数据中心的架构耦合性强,随着业务的扩张和功能的累积,云数据
中心原本简单的应用体积会随着变大,目前的云数据中心的单块架构很难适应应用变更的
需求。所以,由于目前的云数据中心的架构层面的局限性,导致对于应用的业务功能扩张不
能得到满足。
发明内容
有鉴于此,本发明提供了一种基于微服务架构的云管理系统,利用微服务架构实
现云管理中心,能够实时满足云应用服务的业务功能的扩张需求。
本发明提供了一种基于微服务架构的云管理系统,所述基于微服务架构的云管理
系统包括:
云服务模块,用于部署由云应用服务按照业务功能划分的微服务,其中,各个微服
务运行于单独的进程中;
接口提供模块,用于向客户端提供所述云服务模块中的各个微服务的API接口。
优选地,所述接口提供模块,包括:
负载均衡子模块,用于对所述云服务模块中的各个微服务的API接口进行负载均
衡;
接口提供子模块,用于向客户端提供负载均衡后的API接口。
优选地,所述云管理系统还包括:
资源访问模块,用于接收来自所述云服务模块中的任一微服务的资源访问请求,
并在对所述资源访问请求进行处理后得到资源访问响应,将所述资源访问响应返回至所述
微服务。
优选地,所述资源访问模块,具体用于通过预设标准通信协议,接收来自所述云服
务模块中的任一微服务的资源访问请求,并在对所述资源访问请求进行处理后得到资源访
问响应,通过所述标准通信协议,将所述资源访问响应返回至所述微服务。
优选地,所述云服务模块中的微服务包括公共服务,其中,所述公共服务对各个微
服务提供访问入口。
优选地,所述云服务模块,还用于在所述云应用服务增加业务功能时,实时新建微
服务以实现所述业务功能,其中,所述微服务运行于新建的进程中。
优选地,所述云服务模块,具体用于在分布式集群上部署由云应用服务按照业务
功能划分的微服务。
优选地,所述云管理系统,还包括:
硬件资源模块,用于在所述云管理系统的硬件资源不足时,实时向所述分布式集
群中接入硬件资源以实现所述云管理系统的硬件资源扩展。
本发明提供的基于微服务架构的云管理系统包括云服务模块和接口提供模块,所
述云服务模块,用于部署由云应用服务按照业务功能划分的微服务,其中,各个微服务运行
于单独的进程中。所述接口提供模块,用于向客户端提供所述云服务模块中的各个微服务
的API接口。本发明通过将云应用服务按照业务功能划分为微服务,相互独立的运行于各个
进程中,能够实时的满足业务功能的扩张需求,不影响当前正在运行的微服务。
另外,本发明利用接口提供模块对API接口进行负载均衡,避免某些API接口负载
压力过大。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使
用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其
他的附图。
图1为本发明实施例提供的一种基于微服务架构的云管理系统的结构示意图;
图2为本发明实施例提供的一种接口提供模块102的结构示意图;
图3为本发明实施例提供的另一种基于微服务架构的云管理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于
本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本申请保护的范围。
由于目前的云数据中心的架构耦合性较强,所以给用户带来了各种问题,如建设
成本高,管理复杂、运营成本高等等,最主要的是云应用服务的业务功能扩张得不到满足。
基于云数据中心的架构局限性,一旦对云应用服务的业务功能进行扩张,则需要停止使用
整个云应用服务,从而完成对云应用服务中业务功能的修改,这种牵一发而动全身的业务
功能扩张,也造成了云数据中心的运营复杂化。
本发明实施例提供一种基于微服务架构的云管理系统,从系统的架构层面对云数
据中心进行改进,利用微服务的粒度实现各个云应用服务,降低整个系统的耦合性,以解决
现有的各种问题。随着云应用服务越来越多,规模越来越大,尤其对于云应用服务的业务功
能的扩张需求,本发明能够实现实时扩张云应用服务的业务功能,同时避免对现有功能的
正常使用的影响。
本发明实施例提供了一种基于微服务架构的云管理系统,参考图1,为本发明实施
例提供的一种基于微服务架构的云管理系统的结构示意图,所述基于微服务架构的云管理
系统100具体可以包括:
云服务模块101,用于部署由云应用服务按照业务功能划分的微服务,其中,各个
微服务运行于单独的进程中。
所述云应用服务为部署于云端的服务,可以由云端用户共享。为了减小服务的粒
度,本发明实施例将云应用服务按照业务功能划分为微服务,各个微服务可以独立编译、部
署和扩展,实现了云计算环境下的灵活可扩展性。所述业务功能为能够独立完成的特定业
务逻辑。
其中,将划分后得到的各个微服务运行于单独的进程中,每个进程中运行的微服
务彼此相互独立,不受彼此的影响。
由于各个微服务之间是相互解耦的,所以,在所述云应用服务增加业务功能时,所
述云服务模块,用于实时新建微服务,用来实现所述业务功能。具体的,所述云服务模块新
建一个进程,用于运行所述微服务。值得注意的是,整个业务功能扩展的过程中,不影响现
有的各个微服务的正常运行。
例如,所述云管理系统在原有的云应用服务基础上增加新的业务功能,利用X微服
务实现,则所述X微服务首先需要进行授权、注册等;其次,X微服务中用到的数据库、文件、
分布式缓存等都可以复用现有的资源,且X微服务还可以通过消息中间件等与现有的其他
微服务进行交互。
另外,本发明实施例提供的云服务模块中部署的微服务包括公共服务,所述公共
服务对系统内部提供访问入口,为各个微服务提供公共功能。
接口提供模块102,用于向客户端提供所述云应用服务的API接口。
本发明实施例中,各个云应用服务具有多个API接口,由所述接口提供模块向客户
端提供各个API接口,从而为用户提供相应的云服务。
实际应用中,用户可以通过网站、手机APP、应用程序和第三方系统等,访问所述云
服务模块提供的各种云应用服务,具体的,通过所述接口提供模块提供的各个API接口访问
到各个云应用服务。
为了避免某些API接口负载压力过大,本发明实施例利用所述接口提供模块对各
个API接口进行负载均衡,为用户提供相对空闲的API接口。
具体的,参考图2,为本发明实施例提供的一种接口提供模块102的结构示意图,所
述接口提供模块102,包括:
负载均衡子模块201,用于对所述云应用服务的API接口进行负载均衡;
接口提供子模块202,用于向客户端提供负载均衡后的API接口。
本发明实施例提供的基于微服务架构的云管理系统包括云服务模块和接口提供
模块,所述云服务模块,用于部署由云应用服务按照业务功能划分的微服务,其中,各个微
服务运行于单独的进程中。所述接口提供模块,用于向客户端提供所述云应用服务的API接
口。本发明实施例通过将云应用服务按照业务功能划分为微服务,相互独立的运行于各个
进程中,能够实时的满足业务功能的扩张需求,不影响当前正在运行的微服务。
另外,本发明实施例利用接口提供模块对所述云应用服务的各个API接口进行负
载均衡,避免某些API接口负载压力过大。
本发明实施例还提供了一种基于微服务架构的云管理系统,参考图3,为本发明实
施例提供的另一种基于微服务架构的云管理系统的结构示意图。所述云管理系统300包括:
云服务模块301,用于部署由云应用服务按照业务功能划分的微服务,其中,各个
微服务运行于单独的进程中。
一种实现方式中,所述云服务模块用于部署由云应用服务、公共服务和服务管理
三部分组成的完整服务。其中,服务管理主要实现对所述云管理系统中的服务授权、监控、
注册和分布式事务管理等。公共服务包括系统中对内通用的服务,主要包括用户服务、认证
服务、安全服务、日志服务等。而云应用服务则为所述云管理系统对外提供的各个云应用服
务,包括云资源服务、运维服务、监控服务等等,各个云应用服务以独立的微服务运行,互不
影响。
接口提供模块302,用于向客户端提供所述云应用服务的API接口。
资源访问模块303,用于接收来自所述云服务模块中的任一微服务的资源访问请
求,并在对所述资源访问请求进行处理后得到资源访问响应,将所述资源访问响应返回至
所述微服务。
本发明实施例提供的云管理系统还包括资源访问模块,由于各个微服务之间不能
直接进行通信,所以,本发明实施例提供的云管理模块利用资源访问模块为各个微服务之
间提供资源交互方式。
具体的,所述资源访问模块在接收到来自所述云服务模块中的任一微服务的资源
访问请求后,对所述资源访问请求进行处理,得到资源访问响应,最终将所述资源访问响应
返回至所述微服务。
实际应用中,所述资源访问模块还可以存储各个微服务之间的交互数据,交互信
息等。所述资源访问模块可以包括各个微服务提供消息中间件,数据库等,以实现各个微服
务之间的通信交互。
另外,所述资源访问模块可以通过预设的标准通信协议,与各个微服务进行通信,
如JMS,AMQP,REST,SOAP,RMI等协议。具体的,所述资源访问模块通过预设标准通信协议接
收来自任一微服务的资源访问请求,对所述资源访问请求进行处理得到资源访问响应后,
通过标准通信协议将所述资源访问请求返回至所述微服务。
一种实现方式中,本发明实施例中的所述云服务模块在分布式集群上部署由云应
用服务按照业务功能划分的微服务。如果对云应用服务的规模进行扩展,则当前的硬件资
源可能不足,此时,本发明实施例的基于微服务架构的云管理系统还包括硬件资源模块,用
于在所述云管理系统的硬件资源不足时,实时向所述分布式集群中接入硬件资源以实现所
述云管理系统的硬件资源扩展。具体的,在所述云管理系统的服务器资源不足时,实时接入
服务器以实现所述云管理系统的服务器资源扩展。在所述云管理系统的存储资源不足时,
也可以实时接入存储器等存储设备,以实现对所述云管理系统的存储资源扩展。另外,也可
以在所述云管理系统的网络资源不足时,实时接入网络资源,以实现对所述云管理系统的
网络资源的扩展。
值得注意的是,由于硬件资源是分布式架构,所以在接入新的硬件资源时不会对
正在运行的硬件资源造成影响,能够实现实时的接入硬件资源的功能。
本发明实施例提供的基于微服务架构的云管理系统,能够实时的满足业务功能和
业务规模的扩展需求,不影响当前正在运行的云应用服务。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实
施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件
说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以
不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的
需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不
付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实
体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存
在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖
非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要
素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在
包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的一种基于微服务架构的云管理系统进行了详细介
绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只
是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发
明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理
解为对本发明的限制。