System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种基于微服务架构的微服务更新方法、电子设备及非易失性计算机可读存储介质。
技术介绍
1、应用系统一般会按照业务、重要程度、开发团队等不同维度拆分为多个微服务应用进行开发和部署,并且为了保证应用系统的稳定性,每一微服务应用均部署多节点集群。后端微服务一般通过服务注册中心(如:nacos)进行服务注册与发现,前端请求通过web代理组件(如:nginx)发送至后端微服务。
2、随着应用系统需求的逐步迭代演进,应用系统的版本更新在所难免。当前的微服务框架和web代理组件,在更新版本前后都需要运维人员手动操作或修改配置对微服务进行上下线,以使微服务客户端和web代理组件感知变化,避免出现应用路由错误。
3、然而,应用系统版本更新过程中,人工操作步骤太多,容易误操作或漏操作,导致系统不稳定甚至发生事故,同时整体耗时较长;若在停止微服务时节点内部还有正在执行的任务或事件等,会导致微服务停止后出现逻辑或数据异常等问题。
技术实现思路
1、鉴于
技术介绍
中存在的技术问题,本申请提供一种基于微服务架构的微服务更新方法、电子设备及非易失性计算机可读存储介质。
2、为解决上述技术问题,本申请采用的第一个技术方案是:一种基于微服务架构的微服务更新方法,所述微服务架构包括至少一个微服务应用和服务注册中心,其中每一所述微服务应用包括至少一个微服务节点,所述服务注册中心用于记录与所述至少一个微服务应用的微服务节点对应的服务列表,所述至少一个微服务应用之
3、所述至少一个微服务应用中的任一微服务应用的任一微服务节点接收服务更新指令;
4、响应于所述服务更新指令,执行服务更新流程,包括:
5、执行服务停止流程,以使得该微服务应用从所述服务注册中心下线,并停止服务,其中该微服务应用从所述服务注册中心下线,使得所述服务注册中心更新所述服务列表,并使得所述至少一个微服务应用中与该微服务应用相互调用的其他微服务应用刷新该微服务应用的服务信息。
6、在一些实施例中,所述执行服务更新流程还包括:
7、响应于该微服务节点停止服务成功,该微服务节点执行安装包复制流程,以更新该微服务节点的服务;
8、执行服务启动流程,以使得该微服务应用启动服务,并从所述服务注册中心重新上线,其中,该微服务应用启动服务使得所述服务注册中心再更新所述服务列表,并使得所述至少一个微服务应用中与该微服务应用相互调用的其他微服务应用刷新该微服务应用的服务信息。
9、在一些实施例中,所述执行服务停止流程包括:
10、该微服务节点执行该微服务应用中的停止脚本,以调用所述停止脚本中服务下线接口,使得该微服务节点从所述服务注册中心下线;
11、响应于该微服务节点等待第一时长,循环调用该微服务应用的服务接口,以判断该微服务节点是否存在正在处理的任务和/或事件;
12、响应于该微服务节点不存在正在处理的任务和/或事件,通过预设命令,关闭该微服务节点的进程,以停止服务。
13、在一些实施例中,所述执行服务停止流程还包括:
14、响应于该微服务节点停止服务成功,生成停止成功提示消息并显示。
15、在一些实施例中,所述执行服务启动流程包括:
16、该微服务节点执行该微服务应用中的启动脚本,以使该微服务节点启动服务,并从所述服务注册中心重新上线;
17、定时检测该微服务应用的服务接口,以判断该微服务节点启动服务是否成功;
18、响应于该微服务节点启动服务成功,生成启动成功提示消息并显示。
19、在一些实施例中,所述执行服务停止流程还包括:
20、响应于该微服务节点启动服务成功,该微服务应用中的其他微服务节点调用所述服务下线接口,以使该微服务应用中的其他微服务节点从所述服务注册中心下线。
21、在一些实施例中,所述方法还包括:
22、该微服务节点每间隔第二时长监听一次该微服务应用的服务信息;
23、响应于所述服务信息发生变化,该微服务节点刷新发生变化的服务信息。
24、在一些实施例中,响应于该微服务节点执行服务更新流程完成,所述至少一个微服务应用中调用该微服务应用的其他微服务应用的微服务节点执行所述服务更新流程。
25、为解决上述技术问题,本申请采用的第二个技术方案是:一种基于微服务架构的微服务更新方法,所述微服务架构包括至少一个微服务应用和服务注册中心,其中每一所述微服务应用包括至少一个微服务节点,所述服务注册中心用于记录与所述至少一个微服务应用的微服务节点对应的服务列表,所述至少一个微服务应用之间相互调用,所述方法包括:
26、响应于所述至少一个微服务应用中任一微服务应用的任一微服务节点从所述服务注册中心下线,所述服务注册中心更新所述服务列表,其中该微服务节点是响应服务更新指令以执行服务更新流程中的服务停止流程,从而使该微服务应用从所述服务注册中心下线的。
27、在一些实施例中,所述服务注册中心更新所述服务列表包括:
28、所述服务注册中心在所述服务列表中删除或添加该微服务节点;
29、响应于所述服务列表中该微服务节点被删除或被添加,所述服务注册中心在配置文件中删除或添加该微服务节点;
30、响应于所述配置文件中该微服务节点被删除或被添加,所述服务注册中心重新加载代理组件。
31、为解决上述技术问题,本申请采用的第三个技术方案是:一种电子设备,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述的基于微服务架构的微服务更新方法。
32、为解决上述技术问题,本申请采用的第四个技术方案是:一种非易失性计算机可读存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述的基于微服务架构的微服务更新方法。
33、本申请的技术方案中,至少一个微服务应用中的任一微服务应用的任一微服务节点接收服务更新指令,响应服务更新指令并执行服务更新流程。该微服务节点执行服务停止流程,以使该微服务应用从服务注册中心下线并停止服务。在微服务应用进行更新升级时,微服务节点能够响应服务更新指令使微服务应用自动从服务注册中心下线,从而能够有效减少人工操作,降低误操作率。
本文档来自技高网...【技术保护点】
1.一种基于微服务架构的微服务更新方法,其特征在于,所述微服务架构包括至少一个微服务应用和服务注册中心,其中每一所述微服务应用包括至少一个微服务节点,所述服务注册中心用于记录与所述至少一个微服务应用的微服务节点对应的服务列表,所述至少一个微服务应用之间相互调用,所述方法包括:
2.如权利要求1所述的基于微服务架构的微服务更新方法,其特征在于,所述执行服务更新流程还包括:
3.如权利要求1或2所述的基于微服务架构的微服务更新方法,其特征在于,所述执行服务停止流程包括:
4.如权利要求3所述的基于微服务架构的微服务更新方法,其特征在于,所述执行服务停止流程还包括:
5.如权利要求3所述的基于微服务架构的微服务更新方法,其特征在于,所述执行服务启动流程包括:
6.如权利要求5所述的基于微服务架构的微服务更新方法,其特征在于,所述执行服务停止流程还包括:
7.如权利要求1所述的基于微服务架构的微服务更新方法,其特征在于,所述方法还包括:
8.如权利要求1所述的基于微服务架构的微服务更新方法,其特征在于,响
9.一种基于微服务架构的微服务更新方法,其特征在于,所述微服务架构包括至少一个微服务应用和服务注册中心,其中每一所述微服务应用包括至少一个微服务节点,所述服务注册中心用于记录与所述至少一个微服务应用的微服务节点对应的服务列表,所述至少一个微服务应用之间相互调用,所述方法包括:
10.如权利要求9所述的基于微服务架构的微服务更新方法,其特征在于,所述服务注册中心更新所述服务列表包括:
11.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至10任一项所述的基于微服务架构的微服务更新方法。
12.一种非易失性计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至10任一项所述的基于微服务架构的微服务更新方法。
...【技术特征摘要】
1.一种基于微服务架构的微服务更新方法,其特征在于,所述微服务架构包括至少一个微服务应用和服务注册中心,其中每一所述微服务应用包括至少一个微服务节点,所述服务注册中心用于记录与所述至少一个微服务应用的微服务节点对应的服务列表,所述至少一个微服务应用之间相互调用,所述方法包括:
2.如权利要求1所述的基于微服务架构的微服务更新方法,其特征在于,所述执行服务更新流程还包括:
3.如权利要求1或2所述的基于微服务架构的微服务更新方法,其特征在于,所述执行服务停止流程包括:
4.如权利要求3所述的基于微服务架构的微服务更新方法,其特征在于,所述执行服务停止流程还包括:
5.如权利要求3所述的基于微服务架构的微服务更新方法,其特征在于,所述执行服务启动流程包括:
6.如权利要求5所述的基于微服务架构的微服务更新方法,其特征在于,所述执行服务停止流程还包括:
7.如权利要求1所述的基于微服务架构的微服务更新方法,其特征在于,所述方法还包括:
8.如权利要求1所述的...
【专利技术属性】
技术研发人员:柳景元,叶静,项跃,
申请(专利权)人:科大讯飞股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。