CN114978936A - 一种共享服务平台的升级方法、系统及存储介质 - Google Patents
一种共享服务平台的升级方法、系统及存储介质 Download PDFInfo
- Publication number
- CN114978936A CN114978936A CN202210568238.9A CN202210568238A CN114978936A CN 114978936 A CN114978936 A CN 114978936A CN 202210568238 A CN202210568238 A CN 202210568238A CN 114978936 A CN114978936 A CN 114978936A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- services
- architecture
- platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 5
- 239000000306 component Substances 0.000 description 44
- 238000007726 management method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 8
- 230000015556 catabolic process Effects 0.000 description 7
- 238000006731 degradation reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000000593 degrading effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 241000549556 Nanos Species 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 238000007664 blowing Methods 0.000 description 1
- 238000009933 burial Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种共享服务平台的升级方法、系统及存储介质,所述方法包括:搭建配置中心,对共享服务平台中的服务进行配置管理和服务发现;搭建流量控制组件,实现后端服务的流量控制;搭建微服务网关,转发共享服务平台中的前端服务和后端服务之间的消息;将所有符合微服务架构版本要求的后端服务添加至微服务架构中后,将后端服务的服务注册组件替换为配置中心,由配置中心实现后端服务之间的远程调用。在本申请实施例中,分阶段进行共享服务平台的升级,一方面不会对整体造成较大影响,可以在小范围内试错,并且回退成本不是很高,另一方面还可以对升级后的稳定性进行验证,最终实现共享服务平台稳定、平滑的升级为微服务架构。
Description
技术领域
本申请涉及共享服务技术领域,具体地涉及一种共享服务平台的升级方法、系统及存储介质。
背景技术
共享服务平台为帮助企业规模化使用远程数字化人才(非企业员工)提供的共享产品,并围绕过程中的匹配、交付、结算、保障提供一系列工具和服务,帮助企业快速解决生产经营中遇到的问题。当前共享服务平台的架构为面向服务(Service-OrientedArchitecture,SOA)架构,SOA是一个组件模型,它将应用程序的不同功能单元或者服务进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。
随着共享服务平台的功能扩展,共享服务平台中出现了很多服务和组件。这些服务和组件中有一部分是老旧的架构,有一部分是新的架构。共享服务平台中新老服务和组件的调用和交互,导致在实际业务中经常出现错误,运营、开发、测试和运维人员需要经常处理这类的问题。出现错误的原因在于,项目分散,导致代码自身不够健壮,且没有形成体系的管控,没有做到高可用和对服务保护降级相关策略。另外,当出现错误时,由于问题不便于定位,导致故障排除效率较低。因此,需要对共享服务平台进行升级。
但是,在对共享服务平台进行升级的过程中,由于操作不当,或者旧的服务与升级后新的架构不兼容,容易导致系统性风险。因此,如何保证共享服务平台能够稳定、平滑的升级,成为亟待解决的技术问题。
发明内容
有鉴于此,本申请提供一种共享服务平台的升级方法、系统及存储介质,以利于解决如何保证共享服务平台能够稳定、平滑的升级的技术问题。
第一方面,本申请实施例提供了一种共享服务平台的升级方法,用于将所述共享服务平台由面向服务SOA架构升级为微服务架构,所述方法包括:
搭建配置中心,所述配置中心用于对所述共享服务平台中的服务进行配置管理和服务发现;
搭建流量控制组件,所述流量控制组件用于提供流量控制服务,所述共享服务平台中的后端服务整合所述流量控制服务,实现所述后端服务的流量控制;
搭建微服务网关,所述微服务网关用于转发所述共享服务平台中的前端服务和后端服务之间的消息;
将所有符合微服务架构版本要求的所述后端服务添加至所述微服务架构中后,将所述后端服务的服务注册组件替换为所述配置中心,由所述配置中心实现所述后端服务之间的远程调用。
在一种可能的实现方式中,所述微服务架构为spring cloud alibaba微服务体系,所述配置中心为所述spring cloud alibaba微服务体系中的nacos,所述流量控制组件为所述spring cloud alibaba微服务体系中sentinel,所述微服务网关为所述springcloud alibaba微服务体系中的spring cloud alibaba gateway,所述后端服务为Dubbo服务,所述Dubbo服务包括Dubbo消费端和Dubbo提供端。
在一种可能的实现方式中,所述将所有符合微服务架构版本要求的所述后端服务添加至所述微服务架构中后,将所述后端服务的服务注册组件替换为所述配置中心,由所述配置中心实现所述后端服务之间的远程调用,包括:
在将所有符合所述微服务架构版本要求的Dubbo服务添加至所述微服务架构中后,将所述Dubbo服务的服务注册组件由所述SOA架构中的zookeeper替换为所述nacos。
在一种可能的实现方式中,所述流量控制组件具体用于提供限流、熔断和降级服务,所述共享服务平台中的后端服务整合所述流量控制组件的限流、熔断和降级服务,对所述后端服务的限流、熔断和降级控制。
在一种可能的实现方式中,所述微服务网关还用于提供限流、熔断和降级服务,用于对所述共享服务平台中的后端服务进行限流、熔断和降级控制。
在一种可能的实现方式中,还包括:
添加所述微服务架构中的扩充组件。
在一种可能的实现方式中,所述扩展组件包括:
seata组件,所述seata组件用于处理所述微服务架构中的分布式事务;
arthas组件,所述arthas组件为所述微服务架构中的诊断器;
zikpin组件,所述zikpin组件用于提供分布式的实时数据追踪。
第二方面,本申请实施例提供了一种共享服务平台,包括:
处理器;
存储器;
以及计算机程序,其中所述计算机程序被存储在所述存储器中,所述计算机程序包括指令,当所述指令被所述平台执行时,使得所述平台执行第一方面中任意一项所述的方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行第一方面中任意一项所述的方法。
在本申请实施例中,分阶段进行共享服务平台的升级,首先将共享服务平台中的独立的部分升级为微服务架构(包括搭建配置中心、搭建流量控制组件、搭建微服务网关和将后端服务添加至微服务架构),然后将后端服务的服务注册组件替换为配置中心,实现共享服务平台全部升级为微服务架构。分阶段进行共享服务平台的升级,一方面不会对整体造成较大影响,可以在小范围内试错,并且回退成本不是很高,另一方面还可以对升级后的稳定性进行验证,最终实现共享服务平台由SOA架构稳定、平滑的升级为微服务架构。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种微服务架构的框架图;
图2为本申请实施例提供的一种共享服务平台的升级方法流程示意图;
图3为本申请实施例提供给的另一种共享服务平台的升级方法流程示意图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
共享服务平台为帮助企业规模化使用远程数字化人才(非企业员工)提供的共享产品,并围绕过程中的匹配、交付、结算、保障提供一系列工具和服务,帮助企业快速解决生产经营中遇到的问题。当前共享服务平台的架构为面向服务(Service-OrientedArchitecture,SOA)架构,SOA是一个组件模型,它将应用程序的不同功能单元或者服务进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。
目前SOA架构中的服务和组件都是分散的,我们需要部署、管理和服务功能交付变得更加简单。该服务和组件包括但不限于服务发现、限流、熔断、降级、网关、链路调用和监控等。
另外,随着共享服务平台的功能扩展,共享服务平台中出现了很多服务和系统。这些服务和系统中有一部分是老旧的架构,有一部分是新的架构。例如,结算、电子开票、支付、交易体系已经更新换代到3.0版本,一些老旧的项目还处于1.0和2.0版本。共享服务平台中新老服务和系统的调用和交互,导致在实际业务中经常出现错误,运营、开发、测试和运维人员需要经常处理这类的问题。出现错误的原因在于,项目分散,导致代码自身不够健壮,且没有形成体系的管控,没有做到高可用和对服务保护降级相关策略。另外,当出现错误时,由于问题不便于定位(一方面需要代码埋点,另一方面需要可视化的系统查询以及对链路调用的可视化追踪),导致故障排除效率较低。
针对SOA架构中的上述问题,考虑将共享服务平台由SOA架构升级为微服务架构。微服务不需要像普通服务那样成为一种独立的资源,它的基本思想在于考虑围绕业务领域或组件来创建应用。像spring cloud alibaba这样的微服务框架它的组件和服务体系非常丰富,还在持续的扩展中。但是,在对共享服务平台进行升级的过程中,由于操作不当,或者旧的服务与升级后新的架构不兼容,容易导致系统性风险。因此,如何保证共享服务平台能够稳定、平滑的升级,成为亟待解决的技术问题。
针对上述问题,本申请实施例提供了一种共享服务平台的升级方法,通过分步骤的方式进行系统架构升级,可以在最小范围内试错,让平台升级的负面影响降到最低。另外,升级后的微服务架构可以提高共享服务平台的稳定性、健壮性和可管控性。下面结合附图对该升级过程进行详细说明。
参见图1,为本申请实施例提供的一种微服务架构的框架图。其中,图1所示的微服务架构为spring cloud alibaba微服务体系,spring cloud alibaba是阿里巴巴集团开源的一套微服务架构解决方案。
spring cloud alibaba的相关组件包括:
nacos,阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台;
spring cloud alibaba gateway,阿里巴巴开源产品,微服务网关,用于提供转发、限流、熔断和降级服务;
sentinel,阿里巴巴开源产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性;
Dubbo,阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,以及SOA服务治理方案。主要核心部件包括:Remoting,网络通信框架,实现了sync-over-async和request-response消息机制;RPC,一个远程过程调用的抽象,支持负载均衡、容灾和集群功能;Registry,服务目录框架用于服务的注册和服务事件发布和订阅;
seata,阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案;
arthas,微服务架构中的诊断器;
zikpin,用于提供分布式的实时数据追踪。
在该微服务架构中,前后端分离,即前端服务请求后端服务。具体地,后端服务消费端用于处理前端服务的请求,以及一些业务上的逻辑处理。后端服务提供端用于为后端服务消费端提供相应的数据。
在本申请实施例中,由于微服务采用Dubbo实现,因此,后端服务消费端被称为后端服务Dubbo消费端,后端服务提供端被称为后端服务Dubbo提供端。为了便于说明,在一些可能的实现方式中,后端服务Dubbo消费端和后端服务Dubbo提供端也可能统称为“后端服务”。
需要指出的是,图1仅为本申请实施例提供的微服务架构的一种示例性说明,并不应当将其作为本申请保护范围的限制。例如,在图1中示出了4个前端服务,分别为前端服务A、前端服务B、前端服务C和前端服务D;4个后端服务Dubbo消费端,分为为后端服务A Dubbo消费端、后端服务B Dubbo消费端、后端服务C Dubbo消费端和后端服务D Dubbo消费端;4个后端服务Dubbo提供端,分别为后端服务A Dubbo提供端、后端服务B Dubbo提供端、后端服务C Dubbo提供端和后端服务D Dubbo提供端。本领域技术人员可以根据实际需要在微服务架构中设置更多或更少数量的前端服务和后端服务,本申请实施例对此不作限制。
参见图2,为本申请实施例提供的一种共享服务平台的升级方法流程示意图。采用该方法可以将共享服务平台由SOA架构升级为图1所示的微服务架构,如图2所示,其主要包括以下步骤。
步骤S201:搭建配置中心,配置中心用于对共享服务平台中的服务进行配置管理和服务发现。
示例性的,在图1所示的spring cloud alibaba微服务体系中,该配置中心为nacos,即通过nacos对共享服务平台中的服务进行配置管理和服务发现。该服务包括图1所示的微服务架构中的后端服务(后端服务Dubbo提供端和后端服务Dubbo消费端)和springcloud alibaba gateway等。
在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件也必须跟着迁移(拆分),配置中心将配置从各应用中剥离出来,对配置进行统一管理,即配置管理。服务发现即根据服务的运行状态,注册/注销服务;以及,实现服务之间的远程调用等。例如,后端服务Dubbo提供端和后端服务Dubbo消费端之间的远程调用。
需要指出的是,本申请实施例在步骤S201中,仍然采用SOA架构中的服务注册组件zookeeper实现服务之间的远程调用。换句话讲,此时,nacos仅用于根据服务的运行状态,注册/注销服务等,而不进行服务之间的远程调用。其原因在于,若在平台升级的开始就将SOA架构中的服务注册组件zookeeper替换为nacos,则需要同时将共享服务平台中的所有服务均添加至微服务架构中,相当于整体升级为微服务架构。那么在部署和出现问题的回退都相当复杂,容易引发系统性风险。
具体实现中,该配置中心可以为3个以上节点的集群服务,以提高配置中心的高可用性。
步骤S202:搭建流量控制组件,流量控制组件用于提供流量控制服务,共享服务平台中的后端服务整合流量控制服务,实现后端服务的流量控制。
示例性的,在图1所示的spring cloud alibaba微服务体系中,该流量控制组件为sentinel,即通过sentinel提供流量控制服务。共享服务平台中的后端服务Dubbo消费端和后端服务Dubbo提供端可以整合sentinel,实现后端服务Dubbo消费端和后端服务Dubbo提供端的流量控制。除了限流以外,在一些可能的实现方式中,还可以通过sentinel提供可视化管理。
具体地,该流量控制包括限流、熔断和降级控制。其中,限流是指为了保障下游服务稳定性,通常会提前预估调用每秒查询率(Queries-per-second,QPS),一旦超过预估QPS则可以进行限流,拒绝超出预估的请求。熔断是指当下游服务不可用或者响应过慢,可以切断调用链路直接返回结果,保证自身服务的可用性。降级是指当服务器压力剧增,可以考虑对非核心业务流程进行降级,保证核心功能可用。
步骤S203:搭建微服务网关,微服务网关用于转发共享服务平台中的前端服务和后端服务之间的消息。
示例性的,在图1所示的spring cloud alibaba微服务体系中,该微服务网关为spring cloud alibaba gateway。spring cloud alibaba gateway用于提供对外的统一接口,将前端服务的请求转发至相应的后端服务。该spring cloud alibaba gateway还可以整合nacos的配置管理和服务法案现,使得spring cloud alibaba gateway的配置信息和服务状态可以在nacos管理页面操作。
在一些可能的实现方式中,还可以通过spring cloud alibaba gateway进行流量控制,例如通过spring cloud alibaba gateway对后端服务进行限流、熔断和降级控制。
需要指出的是,通过spring cloud alibaba gateway进行流量控制,仅能以后端服务为粒度进行流量控制,即将某一后端服务作为整体进行流量控制。例如,对后端服务ADubbo提供端整体进行流量控制,对后端服务B Dubbo提供端整体进行流量控制等。
但是,在上述步骤S202中,后端服务整合sentinel可以实现以后端服务的具体端口为粒度进行流量控制。例如,对后端服务A Dubbo提供端的端口A、端口B和端口C等分别进行流量控制。因此,通过后端服务整合sentinel进行流量控制,相对通过spring cloudalibaba gateway进行流量控制,对流量的控制粒度更细。
可理解,在完成步骤203后,已经完成微服务架构中主要组件之间的整合,包括nacos、sentinel和spring cloud alibaba gateway。此时,SOA架构中符合微服务架构版本要求的后端服务可以全部添加至微服务架构中。也就是说,提前将共享服务平台中独立的部分升级为微服务架构,一方面不会对整体造成较大影响,可以在小范围内试错,并且回退成本不是很高,另一方面还可以对升级后的稳定性进行验证。
步骤S204:将所有符合微服务架构版本要求的后端服务添加至微服务架构中后,将后端服务的服务注册组件替换为配置中心,由配置中心实现后端服务之间的远程调用。
在本申请实施例中,符合微服务架构版本要求的后端服务是指在SOA架构中,满足微服务架构的协议或相关标准要求,可以直接添加至微服务架构中的后端服务。其中,添加至微服务架构是指将后端服务整合微服务架构中的配置中心、流量控制组件和微服务网关等相关组件。后端服务添加至微服务架构中后,配置中心可以对后端服务进行配置管理和服务发现,后端服务整合流量控制组件,实现流量控制,微服务网关可以转发前端服务和后端服务之间的消息。
由于服务注册组件对微服务架构整体影响较大,因此,在将共享服务平台中独立的部分全部升级为微服务架构,证明没有出现整合后的系统问题后,再将后端服务的服务注册组件替换为配置中心。一方面不会对整体造成较大影响,可以在小范围内试错,并且回退成本不是很高,另一方面还可以对升级后的稳定性进行验证,最终实现共享服务平台由SOA架构稳定、平滑的升级为微服务架构。具体来说,在SOA架构中,Dubbo服务的服务注册组件为zookeeper。在上述步骤S201-S203中,仍然采用zookeeper实现后端服务之间的远程调用。在将SOA架构中符合微服务架构版本要求的后端服务依次、陆续地全部添加至微服务架构中后,将SOA架构中的服务注册组件zookeeper替换为nacos,则在后续步骤中通过nacos实现服务之间的远程调用。替换掉zookeeper的原因在于,nacos既可以做配置管理又可以做服务发现,且它的管理功能更加强大。
综上所述,在本申请实施例中,分阶段进行共享服务平台的升级,首先将共享服务平台中的独立的部分升级为微服务架构(包括搭建配置中心、搭建流量控制组件、搭建微服务网关和将后端服务添加至微服务架构),然后将后端服务的服务注册组件替换为配置中心,实现共享服务平台全部升级为微服务架构。分阶段进行共享服务平台的升级,一方面不会对整体造成较大影响,可以在小范围内试错,并且回退成本不是很高,另一方面还可以对升级后的稳定性进行验证。最终实现共享服务平台由SOA架构稳定、平滑的升级为微服务架构。
另外,之所以选择spring cloud alibaba微服务体系,一方面是由于在SOA架构中采用Dubbo,升级为微服务架构需要提供Dubbo的RPC调用方式,而spring cloud alibaba可以提供Dubbo的RPC调用方式。另一方面,spring cloud alibaba为一个比较成熟的微服务体系,其基于spring cloud扩展,不但继承原有的所有spring cloud的组件,并且springcloud alibaba又扩展了alibaba公司生态下的一些组件。
参见图3,为本申请实施例提供给的另一种共享服务平台的升级方法流程示意图。如图3所示,其在图2所示方法的基础上,还包括以下步骤。
步骤S301:添加微服务架构中的扩充组件。
也就是说,在完成前述步骤S201-S204之后,可以进一步地添加微服务架构中的扩充组件。同样以spring cloud alibaba微服务体系为例,spring cloud alibaba微服务体系中的扩充组件包括seata组件,该seata组件用于处理微服务架构中的分布式事务;arthas组件,该arthas组件为微服务架构中的诊断器;zikpin组件,该zikpin组件用于提供分布式的实时数据追踪。
本申请实施例将共享服务平台升级为微服务架构,为开发、运维提供了便利的管理,尤其是对问题的定位和对服务群的控制管理。具体来说,通常问题的出现后第一时间会找日志,但是由于分布式系统就会导致系统调用链路混乱,引入zikpin之后就方面查找数据和调用链路的定位,进而有效的帮助解决问题。微服务架构中集成nacos的配置管理和服务发现,可以很好的解决服务的可使用状态感知和配置上可以灵活更改,使服务更加直观的被管理和使用,也方便做二次开发以及对于错误报警的发送。另外,微服务架构中集成了sentinel提供的流控、熔断、降级,使服务对外来的攻击或者是一旦访问量激增都有保护策略来应对,对服务的安全性、稳定性、健壮性和可扩展性提供了有利的支撑。
与上述实施例相对应,本申请还提供了一种共享服务平台,该共享服务平台包括处理器,存储器,以及计算机程序,其中所述计算机程序被存储在所述存储器中,所述计算机程序包括指令,当所述指令被所述平台执行时,使得所述平台执行上述方法实施中任意一项所述的方法。需要指出的是,该共享服务平台为一种分布式系统,包括多个节点,该处理器和存储器可以为多个节点中的处理器和存储器,本申请实施例对此不再赘述。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
具体实现中,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行上述方法实施例中的部分或全部步骤。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,简称ROM)、随机存取存储器(random access memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种共享服务平台的升级方法,其特征在于,用于将所述共享服务平台由面向服务SOA架构升级为微服务架构,所述方法包括:
搭建配置中心,所述配置中心用于对所述共享服务平台中的服务进行配置管理和服务发现;
搭建流量控制组件,所述流量控制组件用于提供流量控制服务,所述共享服务平台中的后端服务整合所述流量控制服务,实现所述后端服务的流量控制;
搭建微服务网关,所述微服务网关用于转发所述共享服务平台中的前端服务和后端服务之间的消息;
将所有符合微服务架构版本要求的所述后端服务添加至所述微服务架构中后,将所述后端服务的服务注册组件替换为所述配置中心,由所述配置中心实现所述后端服务之间的远程调用。
2.根据权利要求1所述的方法,其特征在于,所述微服务架构为spring cloud alibaba微服务体系,所述配置中心为所述spring cloud alibaba微服务体系中的nacos,所述流量控制组件为所述spring cloud alibaba微服务体系中sentinel,所述微服务网关为所述spring cloud alibaba微服务体系中的spring cloud alibaba gateway,所述后端服务为Dubbo服务,所述Dubbo服务包括Dubbo消费端和Dubbo提供端。
3.根据权利要求2所述的方法,其特征在于,所述将所有符合微服务架构版本要求的所述后端服务添加至所述微服务架构中后,将所述后端服务的服务注册组件替换为所述配置中心,由所述配置中心实现所述后端服务之间的远程调用,包括:
在将所有符合所述微服务架构版本要求的Dubbo服务添加至所述微服务架构中后,将所述Dubbo服务的服务注册组件由所述SOA架构中的zookeeper替换为所述nacos。
4.根据权利要求1所述的方法,其特征在于,所述流量控制组件具体用于提供限流、熔断和降级服务,所述共享服务平台中的后端服务整合所述流量控制组件的限流、熔断和降级服务,对所述后端服务的限流、熔断和降级控制。
5.根据权利要求1所述的方法,其特征在于,所述微服务网关还用于提供限流、熔断和降级服务,用于对所述共享服务平台中的后端服务进行限流、熔断和降级控制。
6.根据权利要求1所述的方法,其特征在于,还包括:
添加所述微服务架构中的扩充组件。
7.根据权利要求6所述的方法,其特征在于,所述扩展组件包括:
seata组件,所述seata组件用于处理所述微服务架构中的分布式事务;
arthas组件,所述arthas组件为所述微服务架构中的诊断器;
zikpin组件,所述zikpin组件用于提供分布式的实时数据追踪。
8.一种共享服务平台,其特征在于,包括:
处理器;
存储器;
以及计算机程序,其中所述计算机程序被存储在所述存储器中,所述计算机程序包括指令,当所述指令被所述平台执行时,使得所述平台执行权利要求1至7中任意一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210568238.9A CN114978936B (zh) | 2022-05-24 | 2022-05-24 | 一种共享服务平台的升级方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210568238.9A CN114978936B (zh) | 2022-05-24 | 2022-05-24 | 一种共享服务平台的升级方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114978936A true CN114978936A (zh) | 2022-08-30 |
CN114978936B CN114978936B (zh) | 2024-08-16 |
Family
ID=82984530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210568238.9A Active CN114978936B (zh) | 2022-05-24 | 2022-05-24 | 一种共享服务平台的升级方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978936B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269612A (zh) * | 2022-09-26 | 2022-11-01 | 公安部信息通信中心 | 一种基于微服务的跨平台多维数据融合系统 |
CN115604344A (zh) * | 2022-10-18 | 2023-01-13 | 中电金信软件(上海)有限公司(Cn) | 一种微服务的限流方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170187785A1 (en) * | 2015-12-23 | 2017-06-29 | Hewlett Packard Enterprise Development Lp | Microservice with decoupled user interface |
US20180032534A1 (en) * | 2016-07-27 | 2018-02-01 | Sap Se | Analytics mediation for microservice architectures |
CN111130892A (zh) * | 2019-12-27 | 2020-05-08 | 上海浦东发展银行股份有限公司 | 一种企业级微服务的管理系统及方法 |
CN111817976A (zh) * | 2020-07-16 | 2020-10-23 | 浙江百应科技有限公司 | 一种流量自适应限流系统及其控制方法 |
CN111935286A (zh) * | 2020-08-12 | 2020-11-13 | 创意信息技术股份有限公司 | 一种用于软件开发的微服务框架及其构建方法 |
CN112187934A (zh) * | 2020-09-30 | 2021-01-05 | 浪潮云信息技术股份公司 | 一种微服务搭建方法 |
CN112532413A (zh) * | 2019-09-18 | 2021-03-19 | 亦非云互联网技术(上海)有限公司 | 基于微服务架构的业务支撑Saas系统、方法、介质及设备 |
CN112732231A (zh) * | 2021-01-12 | 2021-04-30 | 北京元年科技股份有限公司 | 计算机实现的微服务开发平台的系统和提供微服务的方法 |
CN112769687A (zh) * | 2020-12-10 | 2021-05-07 | 前海飞算科技(深圳)有限公司 | Api网关平台 |
CN113176875A (zh) * | 2021-05-12 | 2021-07-27 | 同济大学 | 一种基于微服务的资源共享服务平台架构 |
CN114040009A (zh) * | 2021-10-18 | 2022-02-11 | 浪潮云信息技术股份公司 | 微服务管理平台网关的实现方法、存储介质及电子设备 |
WO2022041406A1 (zh) * | 2020-08-25 | 2022-03-03 | 深圳大学 | 一种基于ocr和迁移学习的app违规监测方法 |
CN114244905A (zh) * | 2021-11-22 | 2022-03-25 | 上海浦东发展银行股份有限公司 | 数据转发方法、装置、计算机设备和存储介质 |
-
2022
- 2022-05-24 CN CN202210568238.9A patent/CN114978936B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170187785A1 (en) * | 2015-12-23 | 2017-06-29 | Hewlett Packard Enterprise Development Lp | Microservice with decoupled user interface |
US20180032534A1 (en) * | 2016-07-27 | 2018-02-01 | Sap Se | Analytics mediation for microservice architectures |
CN112532413A (zh) * | 2019-09-18 | 2021-03-19 | 亦非云互联网技术(上海)有限公司 | 基于微服务架构的业务支撑Saas系统、方法、介质及设备 |
CN111130892A (zh) * | 2019-12-27 | 2020-05-08 | 上海浦东发展银行股份有限公司 | 一种企业级微服务的管理系统及方法 |
CN111817976A (zh) * | 2020-07-16 | 2020-10-23 | 浙江百应科技有限公司 | 一种流量自适应限流系统及其控制方法 |
CN111935286A (zh) * | 2020-08-12 | 2020-11-13 | 创意信息技术股份有限公司 | 一种用于软件开发的微服务框架及其构建方法 |
WO2022041406A1 (zh) * | 2020-08-25 | 2022-03-03 | 深圳大学 | 一种基于ocr和迁移学习的app违规监测方法 |
CN112187934A (zh) * | 2020-09-30 | 2021-01-05 | 浪潮云信息技术股份公司 | 一种微服务搭建方法 |
CN112769687A (zh) * | 2020-12-10 | 2021-05-07 | 前海飞算科技(深圳)有限公司 | Api网关平台 |
CN112732231A (zh) * | 2021-01-12 | 2021-04-30 | 北京元年科技股份有限公司 | 计算机实现的微服务开发平台的系统和提供微服务的方法 |
CN113176875A (zh) * | 2021-05-12 | 2021-07-27 | 同济大学 | 一种基于微服务的资源共享服务平台架构 |
CN114040009A (zh) * | 2021-10-18 | 2022-02-11 | 浪潮云信息技术股份公司 | 微服务管理平台网关的实现方法、存储介质及电子设备 |
CN114244905A (zh) * | 2021-11-22 | 2022-03-25 | 上海浦东发展银行股份有限公司 | 数据转发方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
徐天桥;: "微服务对传统应用的改造及设计", 电子制作, no. 08, 15 April 2020 (2020-04-15) * |
王燕;伍军;周云霞: "基于Spring_Cloud微服务构架的局域网智能管理系统设计", 《软件》, 15 January 2022 (2022-01-15) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269612A (zh) * | 2022-09-26 | 2022-11-01 | 公安部信息通信中心 | 一种基于微服务的跨平台多维数据融合系统 |
CN115269612B (zh) * | 2022-09-26 | 2022-12-13 | 公安部信息通信中心 | 一种基于微服务的跨平台多维数据融合系统 |
CN115604344A (zh) * | 2022-10-18 | 2023-01-13 | 中电金信软件(上海)有限公司(Cn) | 一种微服务的限流方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114978936B (zh) | 2024-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10878355B2 (en) | Systems and methods for incident queue assignment and prioritization | |
US11625381B2 (en) | Recreating an OLTP table and reapplying database transactions for real-time analytics | |
CN112860342B (zh) | 微服务配置的方法、装置、设备、系统以及存储介质 | |
KR101863398B1 (ko) | 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법 | |
CN114978936A (zh) | 一种共享服务平台的升级方法、系统及存储介质 | |
US10831619B2 (en) | Fault-tolerant stream processing | |
CN105593817B (zh) | 本地或分布式计算机系统上的柔性节点组成的方法和系统 | |
US8615580B2 (en) | Message publication feedback in a publish/subscribe messaging environment | |
US20120158662A1 (en) | Backup and restore of data from any cluster node | |
US8793322B2 (en) | Failure-controlled message publication and feedback in a publish/subscribe messaging environment | |
US10877971B2 (en) | Logical queries in a distributed stream processing system | |
WO2007077012A2 (en) | Architectural design for physical inventory application software | |
CN112069265A (zh) | 配置数据的同步方法、业务数据系统、计算机系统和介质 | |
JPWO2014065115A1 (ja) | ルール分配サーバ、イベント処理システム、方法及びプログラム | |
Ali | Real-time big data warehousing and analysis framework | |
CN116634011A (zh) | 数据推送方法、装置、存储介质及电子设备 | |
US10318911B1 (en) | Persistenceless business process management system and method | |
US9477700B2 (en) | Data environment change notification | |
US11068487B2 (en) | Event-stream searching using compiled rule patterns | |
CN112910835B (zh) | 基于区块链的配置管理方法、装置、系统、设备和介质 | |
CN113282589A (zh) | 一种数据获取方法和装置 | |
US20160173569A1 (en) | Standardized system architecture for applications on computer devices | |
US9059992B2 (en) | Distributed mobile enterprise application platform | |
US20100169387A1 (en) | Analytics enablement objects | |
US10990887B1 (en) | Anything-but matching using finite-state machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |