一种多粒度的服务架构的实现方法和装置制造方法及图纸

技术编号:13825598 阅读:116 留言:0更新日期:2016-10-12 22:55
本申请公开了一种多粒度的服务架构的实现方法和装置,该方法包括:按照业务类型的区别,将整体化的服务架构划分为不同的子服务模块;将所述子服务模块均部署在可垂直扩展系统的单个进程中;为每个所述子服务模块单独部署对应的数据库;为每个所述子服务模块在自身的进程中构建自身的业务功能。本申请提供的上述多粒度的服务架构的实现方法和装置,将整体式服务端拆分为多粒度的、相互独立的子服务,能够降低软件服务系统整体的耦合度,减少服务端负载,减少关联故障影响,提高系统软件整体的服务运行效率和软件的可维护性,便于测试和发布。

【技术实现步骤摘要】

本专利技术属于网络应用和软件
,特别是涉及一种多粒度的服务架构的实现方法和装置
技术介绍
传统的服务框架是一个整体式的应用程序框架,是一个单独的、在单个系统镜像上运行的逻辑可执行文件。对系统的任何更改都会涉及构建和部署一个新的服务器端应用程序版本,任何更改都会导致整个应用程序重新构建和部署。具体的,服务器端处理客户端请求,执行逻辑分析,检索和更新来自数据库的数据,并选择和填充将视图发送到客户端。在项目开发中,现有的整体化服务端模型耦合性过高,即便是在仅更改一行代码的情况下,软件开发人员也需要花费几十分钟甚至超过几个小时对所有代码进行编译,并花费大量的时间重新部署新生成的产品,以验证自己的更改是否正确。
技术实现思路
为解决上述问题,本专利技术提供了一种多粒度的服务架构的实现方法和装置,将整体式服务端拆分为多粒度的、相互独立的子服务,能够降低软件服务系统整体的耦合度,减少服务端负载,减少关联故障影响,提高系统软件整体的服务运行效率和软件的可维护性,便于测试和发布。本专利技术提供的一种多粒度的服务架构的实现方法,包括:按照业务类型的区别,将整体化的服务架构划分为不同的子服务模块;将所述子服务模块均部署在可垂直扩展系统的单个进程中;为每个所述子服务模块单独部署对应的数据库;为每个所述子服务模块在自身的进程中构建自身的业务功能。优选的,在上述服务架构的实现方法中,还包括:为每个所述子服务模块单独设置对应的编程语言。优选的,在上述服务架构的实现方法中,还包括:利用客户端对每个所述子服务模块进行单独访问。优选的,在上述服务架构的实现方法中,还包括:对每个所述子服务模块进行单独的修复、测试或重新部署。优选的,在上述服务架构的实现方法中,还包括:对每个所述子服务模块进行单独的扩容或升级。本专利技术提供的一种多粒度的服务架构的实现装置,包括:划分单元,用于按照业务类型的区别,将整体化的服务架构划分为不同的子服务模块;第一部署单元,用于将所述子服务模块均部署在可垂直扩展系统的单个进程中;第二部署单元,用于为每个所述子服务模块单独部署对应的数据库;构建单元,用于为每个所述子服务模块在自身的进程中构建自身的业务功能。优选的,在上述服务架构的实现装置中,还包括:语言设置单元,用于为每个所述子服务模块单独设置对应的编程语言。优选的,在上述服务架构的实现装置中,还包括:访问单元,用于利用客户端对每个所述子服务模块进行单独访问。优选的,在上述服务架构的实现装置中,还包括:修复测试及重新部署单元,用于对每个所述子服务模块进行单独的修复、测试或重新部署。优选的,在上述服务架构的实现装置中,还包括:扩容及升级单元,用于对每个所述子服务模块进行单独的扩容或升级。通过上述描述可知,本专利技术提供的上述多粒度的服务架构的实现方法和装置,由于先按照业务类型的区别,将整体化的服务架构划分为不同的子服务模块,然后将所述子服务模块均部署在可垂直扩展系统的单个进程中,再为每个所述子服务模块单独部署对应的数据库,最后为每个所述子服务模块在自身的进程中构建自身的业务功能,因此能够将整体式服务端拆分为多粒
度的、相互独立的子服务,能够降低软件服务系统整体的耦合度,减少服务端负载,减少关联故障影响,提高系统软件整体的服务运行效率和软件的可维护性,便于测试和发布。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例提供的第一种多粒度的服务架构的实现方法的示意图;图2为多粒度服务模式的示意图;图3为子服务故障独立修复的示意图;图4为子服务独立扩容和升级的示意图;图5为本申请实施例提供的第一种多粒度的服务架构的实现装置的示意图。具体实施方式本专利技术的核心思想在于提供一种多粒度的服务架构的实现方法和装置,将整体式服务端拆分为多粒度的、相互独立的子服务,能够降低软件服务系统整体的耦合度,减少服务端负载,减少关联故障影响,提高系统软件整体的服务运行效率和软件的可维护性,便于测试和发布。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本申请实施例提供的第一种多粒度的服务架构的实现方法如图1所示,图1为本申请实施例提供的第一种多粒度的服务架构的实现方法的示意图,该方法包括如下步骤:S1:按照业务类型的区别,将整体化的服务架构划分为不同的子服务模块;需要说明的是,每个子服务模块是一个单独的进程,只实现特定的功能,不同的子服务模块的实现相互独立,可部署在不同的服务器上。S2:将所述子服务模块均部署在可垂直扩展系统的单个进程中;S3:为每个所述子服务模块单独部署对应的数据库;S4:为每个所述子服务模块在自身的进程中构建自身的业务功能。这就打破了原有服务端单体化模型的机制,而采用新机制:将单体化服务划分成多粒度的相互独立的子服务,各服务成为松散耦合的组件。各个子服务具有分布式性质,仅提供单个专一的功能,可以采用与其他服务不同的技术。这种架构可让应用程序更容易开发、操作、维护和交互。让各个子服务变成一种“即插即用”服务,对系统服务端的维护由原有的整体维护转换为小组件的单点维护。多粒度子服务架构模式中的每个子服务拥有独立的运行流程及数据结构,各个子服务代表了一个独立的业务逻辑,这种独立性让代码相对更加容易理解,各个子服务的独立部署能力也可提高整体运行效率。通过上述描述可知,本申请实施例提供的上述第一种多粒度的服务架构的实现方法,由于先按照业务类型的区别,将整体化的服务架构划分为不同的子服务模块,然后将所述子服务模块均部署在可垂直扩展系统的单个进程中,再为每个所述子服务模块单独部署对应的数据库,最后为每个所述子服务模块在自身的进程中构建自身的业务功能,因此能够将整体式服务端拆分为多粒度的、相互独立的子服务,能够降低软件服务系统整体的耦合度,减少服务端负载,减少关联故障影响,提高系统软件整体的服务运行效率和软件的可维护性,便于测试和发布。本申请实施例提供的第二种服务架构的实现方法,是在上述第一种服务架构的实现方法的基础上,还包括如下技术特征:为每个所述子服务模块单独设置对应的编程语言。本申请实施例提供的第三种服务架构的实现方法,是在上述第二种服务架构的实现方法的基础上,还包括如下技术特征:利用客户端对每个所述子服务模块进行单独访问。在这种情况下,客户端请求功能时,不再访问整体服务端,而是根据业
务需求访问相应的一个或多个子服务模块。如图2所示,图2为多粒度服务模式的示意图,可见,服务不再以整体的形式对客户端进行响应或者访问数据库,而是根据业务被划分为不同服务。各个子服务成为一个可垂直扩展的单个进程,每个服务只实现特定功能,在自己的进程内围绕自身的业务功能构建。不同子服务的实现是相互独立的,可以使用不同的数据库,甚至是不同的编程语言。在处理一个客本文档来自技高网
...

【技术保护点】
一种多粒度的服务架构的实现方法,其特征在于,包括:按照业务类型的区别,将整体化的服务架构划分为不同的子服务模块;将所述子服务模块均部署在可垂直扩展系统的单个进程中;为每个所述子服务模块单独部署对应的数据库;为每个所述子服务模块在自身的进程中构建自身的业务功能。

【技术特征摘要】
1.一种多粒度的服务架构的实现方法,其特征在于,包括:按照业务类型的区别,将整体化的服务架构划分为不同的子服务模块;将所述子服务模块均部署在可垂直扩展系统的单个进程中;为每个所述子服务模块单独部署对应的数据库;为每个所述子服务模块在自身的进程中构建自身的业务功能。2.根据权利要求1所述的多粒度的服务架构的实现方法,其特征在于,还包括:为每个所述子服务模块单独设置对应的编程语言。3.根据权利要求2所述的多粒度的服务架构的实现方法,其特征在于,还包括:利用客户端对每个所述子服务模块进行单独访问。4.根据权利要求3所述的多粒度的服务架构的实现方法,其特征在于,还包括:对每个所述子服务模块进行单独的修复、测试或重新部署。5.根据权利要求1-4任一项所述的多粒度的服务架构的实现方法,其特征在于,还包括:对每个所述子服务模块进行单独的扩容或升级。6.一种多粒度的服务架构的实现装置,其特征在于,包括:划分单元,用于按照...

【专利技术属性】
技术研发人员:李娟袁鹏飞
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1