CN116431202A - 一种基于微服务***的无损发版方法、装置和电子设备 - Google Patents
一种基于微服务***的无损发版方法、装置和电子设备 Download PDFInfo
- Publication number
- CN116431202A CN116431202A CN202310428447.8A CN202310428447A CN116431202A CN 116431202 A CN116431202 A CN 116431202A CN 202310428447 A CN202310428447 A CN 202310428447A CN 116431202 A CN116431202 A CN 116431202A
- Authority
- CN
- China
- Prior art keywords
- service module
- service
- module
- state
- registry
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000006870 function Effects 0.000 claims abstract description 27
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供的一种基于微服务***的无损发版方法、装置和电子设备,该方法应用于与微服务***连接的服务器,微服务***包括与注册中心连接的具有不同服务功能的多个服务模块,该方法获取针对第一服务模块的下线请求;根据下线请求,控制第一服务模块执行下线操作,并指示注册中心将服务模块列表中的第一服务模块的状态标记为下线状态;控制注册中心将第一服务模块的下线状态发送至客户端的第一监听端口,将获取的第二服务模块的模块信息注册到注册中心,注册中心得到当前服务模块列表;控制客户端拉取注册中心的当前服务模块列表。该方法能够通过注册中心主动将下线请求发送至客户端,提高微服务***中服务模块的发版效率。
Description
技术领域
本申请涉及云平台计算技术应用服务领域,具体而言,涉及一种基于微服务***的无损发版方法、装置和电子设备。
背景技术
随着互联网的发展,单个的应用程序不再能够满足日渐增长的服务需求,微服务架构应运而生。微服务将单个的应用程序分割成多个松散耦合且可独立部署的服务模块。
在实际应用中,微服务***中的服务模块的启用和下线是不可避免的,而在传统技术中,通常采用延迟等待的方式完成服务模块的下线操作,即服务模块提供方在发起服务下线请求后,客户端需要等到下一次向注册中心发起服务订阅时,才能感知到服务模块提供方已经下线;而在这段时间内,客户端仍然可以向服务提供方发出服务调用请求,极大的拉长了服务模块发版的时长。
当新的服务模块启动后,自动将服务模块发送到注册中心进行注册,此时,服务模块虽然启动了,但服务模块内各项功能都没有进行预热操作,首次进来用户的请求时,才进行相关的初始化,耗时时间较长。
发明内容
本申请实施例的目的在于提供一种基于微服务***的无损发版方法、装置和电子设备,用以解决了现有技术存在的微服务***中服务模块发版效率低的技术问题,可节省微服务***中服务模块的发版时间。
第一方面,提供了一种基于微服务***的无损发版方法,应用于与微服务***连接的服务器,所述微服务***包括与注册中心连接的具有不同服务功能的多个服务模块,所述方法包括:
获取针对第一服务模块的下线请求;所述第一服务模块为所述多个服务模块中的任一服务模块;
根据所述下线请求,控制所述第一服务模块执行下线操作,并指示注册中心将服务模块列表中的所述第一服务模块的状态标记为下线状态;所述服务模块列表包括所述微服务***中各服务模块的模块信息和模块状态信息,所述模块状态信息包括启用状态和下线状态;
控制所述注册中心将所述第一服务模块的下线状态发送至客户端的第一监听端口,以使所述客户端根据所述下线状态停用所述第一服务模块;
将获取的第二服务模块的模块信息注册到所述注册中心,并指示所述注册中心将所述第二服务模块的状态记录为启用状态,以得到当前服务模块列表;所述第二服务模块为更新功能服务后的所述第一服务模块;
控制所述客户端拉取所述注册中心的所述当前服务模块列表。
将获取的第二服务模块的模块信息注册到所述注册中心之前,所述方法还包括:
控制所述第二服务模块的端口调用Mock数据并执行,得到测试结果;所述Mock数据是根据所述第二服务模块的端口规范,创建的业务测试数据;
检测执行所述Mock数据的结果;
若执行所述Mock数据的结果达到预期结果,则确定所述第二服务模块可用。
检测执行所述Mock数据的结果,包括:
将预设执行所述Mock数据的时长t0与所述Mock数据实际执行的时间t进行比较,所述t0为执行所述Mock数据允许的最大时长;
若t>t0,则确定所述第二服务模块不可用;
显示所述第二服务模块不可用的提示信息。
若t≤t0,则检测执行所述Mock数据的结果是否达到预期;
若执行所述Mock数据的结果未达到预期结果,则根据所述第二服务模块的端口规范,创建新的Mock数据,并返回步骤:控制所述第二服务模块的端口调用Mock数据并执行,得到测试结果。
若再次控制所述第二服务模块的端口调用所述Mock数据,且执行Mock数据的结果未达到预期结果,则确定所述第二服务模块不可用;
显示所述第二服务模块不可用的提示信息。
获取针对第一服务模块的下线请求,包括:
接收用户触发的各所述服务模块下线信息;所述下线信息包括待处理的所述第一服务模块的模块信息;
将所述待处理的第一服务模块的模块信息与所述微服务***中运行的各所述服务模块中的任一所述服务模块的模块信息进行匹配;
若匹配成功,则生成所述第一服务模块的下线请求;
若匹配失败,则确定无需生成所述第一服务模块的下线请求。
获取针对第一服务模块的下线请求,包括:
设定各所述服务模块的最大使用时长;
实时检测各所述服务模块当前的使用时长;若任一服务模块的使用时长达到最大使用时长,则检测相应服务模块是否存在续约使用信息;
若未存在续约使用信息,则生成所述第一服务模块的下线请求;
若存在续约使用信息,则确定相应的所述服务模块继续运行,无需生成所述第一服务模块的下线请求。
第二方面,提供了一种基于微服务***的无损发版装置,该装置可以包括:
获取单元,用于获取针对第一服务模块的下线请求;所述第一服务模块为所述多个服务模块中的任一服务模块;
执行单元,用于根据所述下线请求,控制所述第一服务模块执行下线操作,并指示注册中心将服务模块列表中的所述第一服务模块的状态标记为下线状态;所述服务模块列表包括所述微服务***中各服务模块的模块信息和模块状态信息,所述模块状态信息包括启用状态和下线状态;
发送单元,用于控制所述注册中心将所述第一服务模块的下线状态发送至客户端的第一监听端口,以使所述客户端根据所述下线状态停用所述第一服务模块;
注册单元,用于将获取的第二服务模块的模块信息注册到所述注册中心;
指示单元,用于指示所述注册中心将所述第二服务模块的状态记录为启用状态,以得到当前服务模块列表;所述第二服务模块为更新功能服务后的所述第一服务模块;
控制单元,用于控制所述客户端拉取所述注册中心的所述当前服务模块列表。
第三方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。
本申请提供的一种基于微服务***的无损发版方法、装置和电子设备,该方法应用于与微服务***连接的服务器,微服务***包括与注册中心连接的具有不同服务功能的多个服务模块,该方法获取针对第一服务模块的下线请求;第一服务模块为多个服务模块中的任一服务模块;根据下线请求,控制第一服务模块执行下线操作,并指示注册中心将服务模块列表中的第一服务模块的状态标记为下线状态;服务模块列表包括微服务***中各服务模块的模块信息和模块状态信息,模块状态信息包括启用状态和下线状态;控制注册中心将第一服务模块的下线状态发送至客户端的第一监听端口,以使客户端根据下线状态停用第一服务模块;将获取的第二服务模块的模块信息注册到注册中心,并指示注册中心将第二服务模块的状态记录为启用状态,以得到当前服务模块列表;第二服务模块为更新功能服务后的第一服务模块;控制客户端拉取注册中心的当前服务模块列表。该方法能够通过注册中心主动将下线请求发送至客户端,无需客户端频繁拉取注册中心的服务模块列表,进一步的提高微服务***中服务模块的发版效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种应用基于微服务***的无损发版方法的架构图;
图2为本申请实施例提供的一种基于微服务***的无损发版方法的流程示意图;
图3为本申请实施例提供的一种基于微服务***的无损发版装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的基于微服务***的无损发版方法可以应用在图1所示的场景中,如图1所示,该应用场景可以包括:服务器、注册中心、微服务***和客户端。
服务器分别与微服务***和注册中心通信连接,注册中分别与微服务***和客户端通信连接;其中,服务器可以是具有较强计算能力的应用服务器或云服务器。
微服务***可以包括具有不同服务功能的多个服务模块;各服务模块的模块信息存储在注册中心。
客户端拉取注册中心的服务模块列表,通过注册中心的服务模块列表提供的连接地址实现自身与微服务***中各服务模块的连接。
注册中心根据各服务模块的模块信息生成服务模块列表;模块信息可以包括各服务模块的运行状态、模块的ID和模块的IP地址等。
客户端为用户提供本地服务的程序,当用户在客户端发起需求时,客户端调用相应的服务模块以满足用户需求。
注册中心作为服务器和客户端之间的桥梁,当任一服务模块下线时,服务器控制注册中心标注服务模块的下线状态;服务器在客户端设置的第一监听端口接收注册中心发送的任一服务模块的下线请求。服务器根据功能更新后的服务模块的端口规范,创建业务测试数据,对更新后的服务模块进行初始化预热,以检测更新后的服务模块的可用性。当服务模块发版时,各服务模块将模块信息发送至注册中心,注册中心更新服务模块列表。客户端周期性拉取注册中心的服务模块列表,作为客户端的本地服务模块列表。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图2为本申请实施例提供的一种基于微服务***的无损发版方法的流程示意图。如图2所示,应用于服务器,该方法可以包括:
步骤S210、获取针对第一服务模块的下线请求。
第一服务模块可以为多个服务模块中的任一服务模块。
具体实施中,获取针对第一服务模块的下线请求的方式,可以包括:
方式一,接收用户触发的各服务模块下线信息,获取针对第一服务模块的下线请求。
具体的,接收用户触发的针对第一服务模块的下线触发信息,下线触发信息可以包括待处理的第一服务模块的模块信息;
将第一服务模块的模块信息与微服务***中运行的多个服务模块中的任一服务模块的模块信息进行匹配。
若匹配成功,则生成第一服务模块的下线请求。
若匹配失败,则确定无需生成第一服务模块的下线请求。
方式二,根据设定的各服务模块的最大使用时长,获取针对第一服务模块的下线请求。
具体的,实时检测各服务模块当前的使用时长;若任一服务模块达到最大使用时长,则检测该服务模块是否存在续约使用信息。
若未存在续约使用信息,则生成第一服务模块的下线请求。
若存在续约使用信息,则确定相应的服务模块可以继续运行,无需生成第一服务模块的下线请求。
若任一服务模块未达到最大使用时长,则该服务模块可以继续运行,无需生成第一服务模块的下线请求。
方式三,根据注册中心周期性的针对各服务模块进行的心跳检测,确定各服务模块与注册中心连接情况,以获取针对第一服务模块的下线请求。
具体的,控制注册中心周期性向各服务模块的IP地址发送心跳报文,根据心跳响应确定各服务模块与注册中心是否连接。
若发出的心跳报文存在相应的心跳响应,则确定相应的服务模块与注册中心为连接状态。
若发出的心跳报文未存在相应的心跳响应,则确定相应的服务模块与注册中心为未连接状态。
确定是否生成各服务模块下线请求,包括:
若相应的服务模块与注册中心为连接状态,则确定无需生成第一服务模块的下线请求。
若相应的服务模块与注册中心为未连接状态,则确定生成第一服务模块的下线请求。
由此,上述三种方式的设定能够根据各服务模块与注册中心的连接情况,使用时长情况以及用户触发的下线请求,获取第一服务模块的下线请求,具体实施中,具体可以根据业务的实际需要来选取目标方式来获取针对第一服务模块的下线请求,本申请在此不做限定。
步骤S220、根据下线请求,控制第一服务模块执行下线操作,并指示注册中心将服务模块列表中的第一服务模块的状态标记为下线状态。
服务模块列表可以包括微服务***中各服务模块的模块信息和模块状态信息,模块状态信息包括启用状态和下线状态。
具体实施中,服务器向第一服务模块发送下线请求,第一服务模块根据下线请求,执行下线操作;在此同时,服务器根据获取的下线请求,向注册中心发送下线状态指示信息,以指示注册中心将服务模块列表中的第一服务模块的状态由启用状态更新为下线状态。
步骤S230、控制注册中心将第一服务模块的下线状态发送至客户端的第一监听端口,以使客户端根据第一服务模块的下线状态停用第一服务模块。
具体实施中,注册中心将第一服务模块的下线状态发送至客户端。
客户端的第一监听端口接收第一服务模块的下线状态信息。
客户端根据第一服务模块的下线状态信息,检测下线状态中的第一服务模块在自身中是否处于运行状态。
若处于运行状态,则等待第一服务模块在客户端运行完成。
若处于未运行状态,则执行步骤:客户端根据第一服务模块的下线状态停用第一服务模块。
该方式能够通过注册中心将下线状态发送至客户端,无需客户端频繁获取注册中心的服务模块列表,从而减轻频繁拉取服务模块列表给注册中心带来的负载。
步骤S240、将获取的第二服务模块的模块信息注册到注册中心,并指示注册中心将第二服务模块的状态记录为启用状态,以得到当前服务模块列表。
第二服务模块可以为更新功能服务后的第一服务模块,更新功能服务可以是指对第一服务模块中的功能服务程序进行修改、部分功能服务的替换和/或删除等操作。
具体实现中,服务器获取的第二服务模块的模块信息,并将第二服务模块的模块信息注册到注册中心,将第二服务模块的模块信息注册到注册中心,以使注册中心更新服务模块列表。当前服务模块列表包括多个可用的服务模块的模块信息。
步骤S250、控制客户端拉取注册中心的当前服务模块列表。
控制客户端拉取注册中心的服务模块列表。
由此,当控制客户端定期拉取注册中心的多个可用服务模块的模块列表,并在客户端内也获取到了用户请求运行第二服务模块时,该方式就实现了第二服务模块在客户端的运行。
在一些实施例中,在步骤S240之前,该方法还可以包括:
服务器获取用户启用第二服务模块的启用请求;
服务器控制第二服务模块的端口调用Mock数据并执行,得到测试结果。
其中,Mock数据是根据第二服务模块的端口规范,创建的业务测试数据。
例如:第二服务模块为更新后的用户注册模块。
首先,服务器获取用户启用用户注册模块的启用请求。
其次,服务器控制第二服务模块的端口调用Mock数据并执行,可以包括:
针对用户注册模块的核心热点代码,由启动脚本请求用户注册模块的端口调用Mock数据;此时的Mock数据为仿照用户请求注册时设定的数据。该方式是对用户注册模块首次运行前的初始化预热。
检测执行Mock数据的结果,可以包括:
将预设执行Mock数据的时长t0与Mock数据实际执行的时长t进行比较,t0为执行Mock数据允许的最大时长。
若t>t0,则确定第二服务模块不可用。显示第二服务模块不可用的提示信息。
若t≤t0,则检测执行Mock数据的结果是否达到预期结果。
若执行Mock数据的结果未达到预期结果,则根据第二服务模块的端口规范,创建新的Mock数据,并返回步骤:控制第二服务模块的端口调用Mock数据并执行,得到测试结果。
若再次控制第二监听端口调用Mock数据,且执行Mock数据的结果未达到预期结果,则确定第二服务模块不可用。显示第二服务模块不可用的提示信息。
也就是说,连续至少两次控制第二监听端口调用Mock数据,此过程中,可以更换调用的Mock数据,以进一步判定执行Mock数据的结果未达到预期结果原因,其中未达到预期结果的原因可能为:设置了错误的Mock数据从而导致的第二服务模块的执行Mock数据未达到预期结果;所以更换调用的Mock数据,可以避免此情况的发生。如果更换了第二服务模块调用的Mock数据,还存在执行Mock数据的结果未达到预期结果的情况,此时,确定该第二服务模块不可用。
若执行Mock数据的结果符合预期结果,则确定第二服务模块可用。
该方式为初始化预热后检测第二服务模块的可用性,避免第二服务模块在实际运行时出现运行故障。也能够在第二服务模块首次运行接收到请求时,进行了初始化的预热,以使第二服务模块达到了最佳的状态以迅速响应用户请求,做到服务模块发版用户无感知。
在一些实施例中,服务器还可以获取到新添加的第三服务模块的模块信息。服务器将获取的第三服务模块的模块信息注册到注册中心,并指示注册中心将第三服务模块的状态记录为启用状态,以得到当前服务模块列表。控制客户端拉取注册中心的当前服务模块列表。
本申请提供的一种基于微服务***的无损发版方法、装置和电子设备,该方法应用于与微服务***连接的服务器,微服务***包括与注册中心连接的具有不同服务功能的多个服务模块,该方法中获取针对第一服务模块的下线请求;第一服务模块为多个服务模块中的任一服务模块;根据下线请求,控制第一服务模块执行下线操作,并指示注册中心将服务模块列表中的第一服务模块的状态标记为下线状态;服务模块列表包括微服务***中各服务模块的模块启用状态和下线状态;控制注册中心将下线请求发送至客户端的第一监听端口,以使客户端根据下线请求停用第一服务模块;将获取的第二服务模块的模块信息注册到注册中心,并指示注册中心将第二服务模块的状态记录为启用状态,以得到当前服务模块列表;该方法能够通过注册中心主动将下线请求发送至客户端,无需客户端频繁拉取注册中心的服务模块列表,进一步的提高微服务***中服务模块的发版效率。
与上述方法对应的,本申请实施例还提供一种基于微服务***的无损发版装置,如图3所示,该装置包括:
获取单元310,用于获取针对第一服务模块的下线请求;第一服务模块为多个服务模块中的任一服务模块。
执行单元320,用于根据下线请求,控制第一服务模块执行下线操作,并指示注册中心将服务模块列表中的述第一服务模块的状态标记为下线状态;服务模块列表包括微服务***中各服务模块的模块信息和模块状态信息,模块状态信息包括启用状态和下线状态。
发送单元330,用于控制注册中心将第一服务模块的下线状态发送至客户端的第一监听端口,以使客户端根据下线状态停用第一服务模块。
注册单元340,用于将获取的第二服务模块的模块信息注册到注册中心。
指示单元350,用于指示注册中心将第二服务模块的状态记录为启用状态,以得到当前服务模块列表;第二服务模块为更新功能服务后的第一服务模块。
控制单元360,用于控制客户端拉取注册中心的当前服务模块列表。
本申请上述实施例提供的一种基于微服务***的无损发版装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本申请实施例提供的一种基于微服务***的无损发版装置中的各个单元的具体工作过程和有益效果,在此不复赘述。
本申请实施例还提供了一种电子设备,如图4所示,包括处理器410、通信接口420、存储器430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。
存储器430,用于存放计算机程序;
处理器410,用于执行存储器430上所存放的程序时,实现如下步骤:
获取针对第一服务模块的下线请求;第一服务模块为多个服务模块中的任一服务模块。
根据下线请求,控制第一服务模块执行下线操作,并指示注册中心将服务模块列表中的第一服务模块的状态标记为下线状态;服务模块列表包括微服务***中各服务模块的模块信息和模块状态信息,模块状态信息包括启用状态和下线状态。
控制注册中心将第一服务模块的下线状态发送至客户端的第一监听端口,以使客户端根据下线状态停用第一服务模块。
将获取的第二服务模块的模块信息注册到注册中心,并指示注册中心将第二服务模块的状态记录为启用状态,以得到当前服务模块列表;第二服务模块为更新功能服务后的第一服务模块。
控制客户端拉取注册中心的当前服务模块列表。
上述提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图2所示的实施例中的各步骤来实现,因此,本申请实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种基于微服务***的无损发版方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种基于微服务***的无损发版方法。
本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、***、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例中是参照根据本申请实施例中实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
Claims (10)
1.一种基于微服务***的无损发版方法,其特征在于,应用于与微服务***连接的服务器,所述微服务***包括与注册中心连接的具有不同服务功能的多个服务模块,所述方法包括:
获取针对第一服务模块的下线请求;所述第一服务模块为所述多个服务模块中的任一服务模块;
根据所述下线请求,控制所述第一服务模块执行下线操作,并指示注册中心将服务模块列表中的所述第一服务模块的状态标记为下线状态;所述服务模块列表包括所述微服务***中各服务模块的模块信息和模块状态信息,所述模块状态信息包括启用状态和下线状态;
控制所述注册中心将所述第一服务模块的下线状态发送至客户端的第一监听端口,以使所述客户端根据所述下线状态停用所述第一服务模块;
将获取的第二服务模块的模块信息注册到所述注册中心,并指示所述注册中心将所述第二服务模块的状态记录为启用状态,以得到当前服务模块列表;所述第二服务模块为更新功能服务后的所述第一服务模块;
控制所述客户端拉取所述注册中心的所述当前服务模块列表。
2.如权利要求1所述的方法,其特征在于,将获取的第二服务模块的模块信息注册到所述注册中心之前,所述方法还包括:
控制所述第二服务模块的端口调用Mock数据并执行,得到测试结果;所述Mock数据是根据所述第二服务模块的端口规范,创建的业务测试数据;
检测执行所述Mock数据的结果;
若执行所述Mock数据的结果达到预期结果,则确定所述第二服务模块可用。
3.如权利要求2所述的方法,其特征在于,检测执行所述Mock数据的结果,包括:
将预设执行所述Mock数据的时长t0与所述Mock数据实际执行的时间t进行比较,所述t0为执行所述Mock数据允许的最大时长;
若t>t0,则确定所述第二服务模块不可用;
显示所述第二服务模块不可用的提示信息。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
若t≤t0,则检测执行所述Mock数据的结果是否达到预期;
若执行所述Mock数据的结果未达到预期结果,则根据所述第二服务模块的端口规范,创建新的Mock数据,并返回步骤:控制所述第二服务模块的端口调用Mock数据并执行,得到测试结果。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
若再次控制所述第二服务模块的端口调用所述Mock数据,且执行Mock数据的结果未达到预期结果,则确定所述第二服务模块不可用;
显示所述第二服务模块不可用的提示信息。
6.如权利要求1所述的方法,其特征在于,获取针对第一服务模块的下线请求,包括:
接收用户触发的各所述服务模块下线信息;所述下线信息包括待处理的所述第一服务模块的模块信息;
将所述待处理的第一服务模块的模块信息与所述微服务***中运行的各所述服务模块中的任一所述服务模块的模块信息进行匹配;
若匹配成功,则生成所述第一服务模块的下线请求;
若匹配失败,则确定无需生成所述第一服务模块的下线请求。
7.如权利要求1所述的方法,其特征在于,获取针对第一服务模块的下线请求,包括:
设定各所述服务模块的最大使用时长;
实时检测各所述服务模块当前的使用时长;若任一服务模块的使用时长达到最大使用时长,则检测相应服务模块是否存在续约使用信息;
若未存在续约使用信息,则生成所述第一服务模块的下线请求;
若存在续约使用信息,则确定相应的所述服务模块继续运行,无需生成所述第一服务模块的下线请求。
8.一种基于微服务***的无损发版装置,其特征在于,应用于与微服务***连接的服务器,所述微服务***包括与注册中心连接的具有不同服务功能的多个服务模块,所述装置包括:
获取单元,用于获取针对第一服务模块的下线请求;所述第一服务模块为所述多个服务模块中的任一服务模块;
执行单元,用于根据所述下线请求,控制所述第一服务模块执行下线操作,并指示注册中心将服务模块列表中的所述第一服务模块的状态标记为下线状态;所述服务模块列表包括所述微服务***中各服务模块的模块信息和模块状态信息,所述模块状态信息包括启用状态和下线状态;
发送单元,用于控制所述注册中心将所述第一服务模块的下线状态发送至客户端的第一监听端口,以使所述客户端根据所述下线状态停用所述第一服务模块;
注册单元,用于将获取的第二服务模块的模块信息注册到所述注册中心;
指示单元,用于指示所述注册中心将所述第二服务模块的状态记录为启用状态,以得到当前服务模块列表;所述第二服务模块为更新功能服务后的所述第一服务模块;
控制单元,用于控制所述客户端拉取所述注册中心的所述当前服务模块列表。
9.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310428447.8A CN116431202A (zh) | 2023-04-20 | 2023-04-20 | 一种基于微服务***的无损发版方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310428447.8A CN116431202A (zh) | 2023-04-20 | 2023-04-20 | 一种基于微服务***的无损发版方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116431202A true CN116431202A (zh) | 2023-07-14 |
Family
ID=87083078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310428447.8A Pending CN116431202A (zh) | 2023-04-20 | 2023-04-20 | 一种基于微服务***的无损发版方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431202A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041329A (zh) * | 2023-10-08 | 2023-11-10 | 南京翼辉信息技术有限公司 | 一种基于异构总线结构的微服务配置***及其控制方法 |
CN117155994A (zh) * | 2023-10-27 | 2023-12-01 | 广州市千钧网络科技有限公司 | 服务注册管理方法、装置、设备、可读存储介质 |
-
2023
- 2023-04-20 CN CN202310428447.8A patent/CN116431202A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041329A (zh) * | 2023-10-08 | 2023-11-10 | 南京翼辉信息技术有限公司 | 一种基于异构总线结构的微服务配置***及其控制方法 |
CN117041329B (zh) * | 2023-10-08 | 2023-12-15 | 南京翼辉信息技术有限公司 | 一种基于异构总线结构的微服务配置***及其控制方法 |
CN117155994A (zh) * | 2023-10-27 | 2023-12-01 | 广州市千钧网络科技有限公司 | 服务注册管理方法、装置、设备、可读存储介质 |
CN117155994B (zh) * | 2023-10-27 | 2024-02-02 | 广州市千钧网络科技有限公司 | 服务注册管理方法、装置、设备、可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116431202A (zh) | 一种基于微服务***的无损发版方法、装置和电子设备 | |
CN110896404B (zh) | 数据处理的方法、装置和计算节点 | |
US10972336B2 (en) | Technique for resolving a link failure | |
CN109450701B (zh) | 一种虚拟交换机切换方法、装置、宿主机及计算机可读存储介质 | |
CN111541762B (zh) | 数据处理的方法、管理服务器、设备及存储介质 | |
US10505787B2 (en) | Automatic recovery in remote management services | |
CN111240760B (zh) | 基于注册中心的应用发布方法、***、存储介质及设备 | |
CN112637121B (zh) | 数据端口的更新方法、装置、电子设备及可读存储介质 | |
CN115150457A (zh) | 微服务管理方法、车载***和车载设备 | |
CN111930626B (zh) | 基于PaaS云服务的自动化测试方法及装置 | |
CN113992685A (zh) | 一种服务控制器确定方法、***及装置 | |
CN113572701A (zh) | 服务接口流控方法、装置、设备及存储介质 | |
CN110876852B (zh) | 微服务的网络游戏数据处理方法及*** | |
CN112737896A (zh) | 带宽数据核对方法、装置、介质及电子设备 | |
CN113163029A (zh) | 网络会话账号部署方法、装置、终端、服务器及存储介质 | |
CN113992516B (zh) | 物联网设备的固件更新方法、装置及物联网 | |
CN112511603B (zh) | 数据端口的更新方法、装置、电子设备及可读存储介质 | |
CN112019359B (zh) | 基于ims网络的业务处理方法及*** | |
CN115865651B (zh) | 一种数据采集方法、装置、电子设备及存储介质 | |
CN112532699B (zh) | 数据端口的更新方法、装置、电子设备及可读存储介质 | |
CN117499347B (zh) | 一种基板控制器接口处理方法及其应用设备 | |
CN111200513B (zh) | 服务器启动方法、服务器及集群服务器*** | |
CN116860340B (zh) | 基于基板管理控制器的标识的服务器启动时间确定方法 | |
CN108809468B (zh) | 时间同步的方法、装置和存储介质以及电子设备 | |
CN115968057A (zh) | CarPlay连接方法、装置、设备及存储介质 |
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 |