CN115580645A - 一种服务切换方法、装置、电子设备和存储介质 - Google Patents
一种服务切换方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115580645A CN115580645A CN202211407026.9A CN202211407026A CN115580645A CN 115580645 A CN115580645 A CN 115580645A CN 202211407026 A CN202211407026 A CN 202211407026A CN 115580645 A CN115580645 A CN 115580645A
- Authority
- CN
- China
- Prior art keywords
- cluster
- service
- master
- access address
- switching
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种服务切换方法、装置、电子设备和存储介质,其中,该方法包括:在服务集群启动时保存集群主服务的集群内访问地址;根据所述集群主服务的切换信息在所述服务集群删除所述集群主服务;确定所述服务集群选主成功,则根据保存的所述集群内访问地址创建所述集群主服务。本发明实施例解决了高可用集群下的服务切换问题,减少高可用集群与容器集群管理系统的兼容错误,可提高系统稳定性,减少系统安全隐患。
Description
技术领域
本发明涉及技术领域,尤其涉及一种服务切换方法、装置、电子设备和存储介质。
背景技术
随着Kubernets(简称K8S)为基础的云原生技术的发展,容器化数据库高可用集群也势在必行。目前业界需要将高可用方案搬移至Kubernets容器集群管理系统环境中,需要考虑传统高可用机器对虚拟网际互连协议(Internet Protocol)地址的操作无法在Kubernets环境中直接使用的问题。目前,传统高可用集群采样虚拟IP作为集群访问地址,但是K8S可以通过服务(Services)的集群内访问地址(ClusterIP)自动分配虚拟地址,高可用集群与K8S的结合将会导致手动设置虚拟IP导致地址冲突的问题。此外,传统高可用集群切换需要运行IP命令从网卡中删除虚拟IP,从而实现对已有数据库会话的阻塞,然后再使用VRRP协议将虚拟IP偏移切换的新节点,这种服务切换方法不适用于K8S容器集群管理系统环境,导致运行环境不稳定,且存在安全隐患。
发明内容
本发明提供了一种服务切换方法、装置、电子设备和存储介质,以解决高可用集群下的服务切换问题,减少高可用集群与容器集群管理系统的兼容错误,可提高系统稳定性,减少系统安全隐患。
根据本发明的一方面,提供了一种服务切换方法,其中,该方法包括:
在服务集群启动时保存集群主服务的集群内访问地址;
根据所述集群主服务的切换信息在所述服务集群删除所述集群主服务;
确定所述服务集群选主成功,则根据保存的所述集群内访问地址创建所述集群主服务。
根据本发明的另一方面,提供了一种服务切换装置,其中,该装置包括:
地址保存模块,用于在服务集群启动时保存集群主服务的集群内访问地址;
服务删除模块,用于根据所述集群主服务的切换信息在所述服务集群删除所述集群主服务;
切换服务模块,用于确定所述服务集群选主成功,则根据保存的所述集群内访问地址创建所述集群主服务。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的服务切换方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的服务切换方法。
本发明实施例的技术方案,通过在启动服务集群时保存集群主服务的集群内访问地址,获取到集群主服务的切换信息则将该集群主服务从服务集群内删除,在服务集群内选主成功时按照集群内访问地址创建新的集群主服务,解决了高可用集群下的服务切换问题,减少高可用集群与容器集群管理系统的兼容错误,可提高系统稳定性,减少系统安全隐患。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种服务切换方法的流程图;
图2是根据本发明实施例二提供的另一种服务切换方法的流程图;
图3是根据本发明实施例三提供的一种服务切换方法的流程示例图;
图4是根据本发明实施例三提供的一种服务切换的架构示例图;
图5是根据本发明实施例三提供的一种服务切换前的示例图;
图6是根据本发明实施例三提供的一种服务切换成功的示例图;
图7是根据本发明实施例四提供的一种服务切换装置的结构示意图;
图8是根据本发明实施例五提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是根据本发明实施例一提供的一种服务切换方法的流程图,本实施例可适用于高可用集群与K8S容器管理系统融合情况下服务切换的情况,该方法可以由服务切换装置来执行,该服务切换装置可以采用硬件和/或软件的形式实现,该装置可配置于服务器集群中。如图1所示,该方法包括:
步骤110、在服务集群启动时保存集群主服务的集群内访问地址。
其中,服务集群可以是承载高可用数据库集群,服务集群内容器管理可以由容器集群管理系统实现。集群主服务可以是服务器集群节点在容器管理系统内作为主节点的对象实例。集群内访问地址可以是为集群主服务分配的集群IP地址,该集群IP地址可以用于链接到高可用存储集群的数据库。
在本发明实施例中,在启动服务集群时,可以理解的是,服务集群的启动可以包括启动容器管理系统以及高可用存储系统,创建集群主服务并未集群主服务配置集群内访问地址,可以将该集群主服务的集群内访问地址进行保存,便于后续的服务切换。
步骤120、根据集群主服务的切换信息在服务集群删除集群主服务。
其中,切换信息可以是显式集群主服务切换宿主节点的信息,可以包括集群主服务无响应的信息、集群主服务无法链接到数据库的故障信息等、主动切换指令信息等。
在本发明实施例中,可以对集群主服务的切换信息进行监听,在接收到集群主服务的无响应的信息、无法链接到数据库的故障信息以及主动切换指令信息等切换信息时,可以将服务集群内的集群主服务删除。
步骤130、确定服务集群选主成功,则根据保存的集群内访问地址创建集群主服务。
其中,服务集群选主成功可以是重新选择主容器的宿主节点成功,可以将集群主服务由原宿主节点切换到重新选择的宿主节点。
在本发明实施例中,服务集群可以执行选主操作,在选主成功时,可以为新的宿主节点创建集群主服务,并将保存的集群内访问地址分配给该集群主服务,从而实现服务切换。
本发明实施例,通过在启动服务集群时保存集群主服务的集群内访问地址,获取到集群主服务的切换信息则将该集群主服务从服务集群内删除,在服务集群内选主成功时按照集群内访问地址创建新的集群主服务,解决了高可用集群下的服务切换问题,减少高可用集群与容器集群管理系统的兼容错误,可提高系统稳定性,减少系统安全隐患。
实施例二
图2是根据本发明实施例二提供的另一种服务切换方法的流程图,本发明实施例是在上述发明实施例基础上的具体化,参见图2,本发明实施例提供的方法具体包括如下步骤:
步骤210、调用预设容器集群管理系统的操作模式启动服务集群并创建集群主服务。
其中,预设容器集群管理系统可以是在服务集群内进行容器管理的软硬件系统,预设容器集群管理系统具体可以包括Kubernets容器管理系统,可支持自动化部署、大规模可伸缩、应用容器化管理,Kubernets容器管理系统内可以创建多个容器,每个容器可以运行一个应用实例,每个应用实例可以存在各自对应的集群内访问地址。操作模式可以为Kubernetes容器管理系统内的Operator模式,可以为K8S容器管理系统的扩展形式,可以K8S的声明式API风格自定义来管理应用以及服务。
在本发明实施例中,可以通过调用预设容器集群管理系统的操作模式对服务集群的容器管理系统进行启动,可以在服务集群内各宿主节点创建不同的容器服务,针对主宿主节点也即写节点可以创建集群主服务,为集群主服务分配其对应的集群内访问地址,该集群内访问地址可以为Cluster IP。
步骤220、将预设容器集群管理系统分配给集群主服务的集群内访问地址保存到预设容器集群管理系统的自定义资源元数据。
其中,自定义资源元数据可以是在预设容器管理系统内根据业务需求自定义创建的资源类型,预设容器管理系统可以按照该自定义资源数据对数据资源进行增删改查等操作。
在本发明实施例中,可以提取集群主服务分配的集群内访问地址,并将该集群内访问地址在预设容器集群管理系统的自定义资源元数据内进行存储,使得该集群内访问地址用于后续的服务切换,防止由于虚拟IP手动配置导致虚拟IP冲突的问题。
步骤230、在接收到切换信息时,在服务集群内调用预设高可用组件。
其中,高可用组件可以是服务集群内承载的高可用存储集群的功能组件,可以实现脚本文件的执行,高可用组件可以预先安装在服务集群内,高可用组具体可以为Xenon组件、Percona XtraDB Cluster组件、Master High Avaliable组件等。
在本发明实施例中,可以检测到集群主服务的无响应的信息、无法链接到数据库的故障信息以及主动切换指令信息等切换信息时,可以通过服务集群内调用预设高可用组件。
步骤240、控制预设高可用组件执行预设删除脚本以删除集群主服务。
其中,预设删除脚本可以实现对集群主服务删除的可执行脚本文件,预设删除脚本文件内可以包括一条或多条删除集群主服务的可执行命令,预设删除脚本具体可以为钩子脚本,该预设删除脚本可以由切换信息自动触发。
在本发明实施例中,可以通过预设高可用组件对预设删除脚本进行运行,从而实现对集群主服务的删除,其效果可以与传统高可用存储集群删除虚拟IP的效果一致,使得集群主服务的原宿主节点处于休眠状态、无法向原宿主节点写入新数据,并且没有处于提交状态的会话不会进入提交状态,服务集群内主从节点的网络仍能通信,已经进入提交状态的事务,仍然可以继续等待从Pod数据的应答,仍然可以进行未完成的日志复制动作。
进一步的,在上述发明实施例的基础上,预设高可用组件包括Xenon组件。
在本发明实施例中,预设高可用组件具体为Xenon组件,可以通过RAFT协议实现无中心化选主,服务集群数据强一致以及故障秒级切换等特点。
步骤250、阻塞服务集群内的已有容器会话链接以及拒绝新建容器会话链接。
在本发明实施例中,可以在服务集群内阻塞集群主服务的宿主节点的已有容器会话链接以及拒绝新建容器会话链接。
步骤260、在预设容器集群管理系统的操作模式确定服务集群内新的集群主服务。
在本发明实施例中,服务集群可以进行选主操作,在通过预设容器集群管理系统的Operator模式发现服务集群新选择的主节点后,可以为该新主节点创建集群主服务。
步骤270、控制操作模型读取自定义资源元数据保存的集群内访问地址。
具体的,预设容器集群管理系统的Operator模式在自定义资源元数据内读取保存的集群内访问地址。
步骤280、控制操作模型将集群访问地址分配给新的集群主服务。
在本发明实施例中,Operator模式可以将保存的集群访问地址分配给新的宿主节点创建的新的集群主服务,从而实现原有的集群访问地址漂移至新的集群主服务。
本发明实施例,通过调用预设容器集群管理系统的操作模式启动服务集群并创建集群主服务,为集群主服务分配集群内访问地址,并保存该集群内访问地址到自定义资源元数据,在接收到切换信息时,调用高可用组件执行预设删除脚本对集群主服务进行删除,阻塞服务集群内的已有容器会话链接以及拒绝新建容器会话链接,在操作模式获取到新的集群主服务时,读取自定义资源元数据保存的集群内访问地址,分配该集群内访问地址到新的集群主服务,解决高可用集群下的服务切换问题,减少高可用集群与容器集群管理系统的兼容错误,可提高系统稳定性,减少系统安全隐患。
进一步的,在上述发明实施例的基础上,切换信息包括以下至少之一:所述集群主服务无响应;主容器到数据库通信故障。
实施例三
图3是根据本发明实施例三提供的一种服务切换方法的流程示例图,参见图3,在高可用存储集群内为实现安全高可用的服务切换,采取下述三个步骤:
1、由K8S的operator创建leader服务(写节点),并将K8s分配给leader服务的clusterIp保存到集群到CustomResource元数据中,以备重建service绑定相同clusterIp使用。
2、在pod退出之前或者旧主切换之前以及新主产生之后,可以调用高可用组件执行删除K8s的services,其效果与传统高可用集群删除虚拟IP效果一样,在删除service一瞬间,连接到旧主到会话处于睡眠状态,无法往旧主写入新数据,没有处于提交状态的会话不会进入提交状态,此时,主从Pod之间的网络仍然能通信,已经进入提交状态的事务,仍然可以继续等待从Pod数据的应答,仍然可以进行未完成的日志复制动作。而且阻塞旧会话数据传送过程非常快,几乎是删除services的瞬时完成。
3、当服务集群选主成功时,高可用组件可以保证旧主进入提交状态事务能成功完成复制。此时Operator依据选主情况重新以原有的clusterIp创建service,clusterIp会漂移到新主Pod,此时旧主睡眠的会话断链,数据库此时将这些未完成的事务回滚。可以理解的是,与重启数据库回滚不同,此时数据库容器仍然可以对外提供服务,仍然可以充当集群的从节点。
在本发明实施例中假设容器化数据库集群采用3副本方式,集群名称为sample,参见图4,图中只示出主Pod的容器组成,分别为MySQL数据库容器,Xenon为高可用组件容器,及其其他作用的容器。sample-mysql-0至sample-mysql-2是K8s的statefulset分配的Pod的名称。
在集群创建的时候,operator创建leader服务后,立刻将leader服务的clusterIp读取出来,写入到数据库集群的CustomResource的注解(annotations)中。当高可用组件Xenon检测到主Pod到MySQL无响应或者其他故障时,Xenon会执行钩子脚本,钩子脚本的的动作为删除sample-leader服务,如图5。切换前担任主的名为sample-mysql-0的Pod,其xenon调用钩子脚本删除了sample-leader服务,此时链接数据库的客户端已有会话被阻塞,不能传递数据(图中用红色虚线表示),新会话也无法建立。此后,Xenon组件采用raft协议选出新主,此时假设为选Pod名为sample-mysql-2为新主,如图6。切换成功后,operator查询各个Pod中xenon的状态,以保存在集群Custom Resoure中的clusterIp重新创建sample-leader。此时clusterIp漂移到名为sample-mysql-2的Pod,客户端可以继续使用sample-leader访问数据库,并且此时与旧主sample-mysql-0的会话断链。
实施例四
图7是根据本发明实施例四提供的一种服务切换装置的结构示意图。如图7所示,该装置包括:地址保存模块301、服务删除模块302和切换服务模块303。
地址保存模块301,用于在服务集群启动时保存集群主服务的集群内访问地址。
服务删除模块302,用于根据所述集群主服务的切换信息在所述服务集群删除所述集群主服务。
切换服务模块303,用于确定所述服务集群选主成功,则根据保存的所述集群内访问地址创建所述集群主服务。
本发明实施例,通过地址保存模块在启动服务集群时保存集群主服务的集群内访问地址,服务删除模块获取到集群主服务的切换信息则将该集群主服务从服务集群内删除,切换服务模块在服务集群内选主成功时按照集群内访问地址创建新的集群主服务,解决了高可用集群下的服务切换问题,减少高可用集群与容器集群管理系统的兼容错误,可提高系统稳定性,减少系统安全隐患。
进一步的,在上述发明实施例的基础上,地址保存模块301包括:
服务创建单元,用于调用预设容器集群管理系统的操作模式启动所述服务集群并创建所述集群主服务。
地址存储单元,用于将所述预设容器集群管理系统分配给所述集群主服务的集群内访问地址保存到所述预设容器集群管理系统的自定义资源元数据。
进一步的,在上述发明实施例的基础上,服务删除模块302包括:
组件调用单元,用于在接收到所述切换信息时,在所述服务集群内调用预设高可用组件。
删除执行单元,用于控制所述预设高可用组件执行预设删除脚本以删除所述集群主服务。
进一步的,在上述发明实施例的基础上,预设高可用组件至少包括Xenon组件。
进一步的,在上述发明实施例的基础上,切换服务模块303包括:
容器发现单元,用于在所述预设容器集群管理系统的操作模式确定所述服务集群内新的集群主服务。
地址读取单元,用于控制所述操作模型读取所述自定义资源元数据保存的所述集群内访问地址。
地址漂移单元,用于控制所述操作模型将所述集群访问地址分配给所述新的集群主服务。
进一步的,在上述发明实施例的基础上,服务删除模块302还包括:会话处理单元,用于阻塞所述服务集群内的已有容器会话链接以及拒绝新建容器会话链接。
进一步的,在上述发明实施例的基础上,切换信息包括以下至少之一:所述集群主服务无响应;主容器到数据库通信故障。
本发明实施例所提供的服务切换装置可执行本发明任意实施例所提供的服务切换方法,具备执行方法相应的功能模块和有益效果。
实施例五
图8是根据本发明实施例五提供的一种电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图8所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如服务切换方法。
在一些实施例中,服务切换方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的服务切换方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行服务切换方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种服务切换方法,其特征在于,所述方法包括:
在服务集群启动时保存集群主服务的集群内访问地址;
根据所述集群主服务的切换信息在所述服务集群删除所述集群主服务;
确定所述服务集群选主成功,则根据保存的所述集群内访问地址创建所述集群主服务。
2.根据权利要求1所述方法,其特征在于,所述在服务集群启动时保存集群主服务的集群内访问地址,包括:
调用预设容器集群管理系统的操作模式启动所述服务集群并创建所述集群主服务;
将所述预设容器集群管理系统分配给所述集群主服务的集群内访问地址保存到所述预设容器集群管理系统的自定义资源元数据。
3.根据权利要求1所述方法,其特征在于,所述根据所述集群主服务的切换信息在所述服务集群删除所述集群主服务,包括:
在接收到所述切换信息时,在所述服务集群内调用预设高可用组件;
控制所述预设高可用组件执行预设删除脚本以删除所述集群主服务。
4.根据权利要求3所述方法,其特征在于,所述预设高可用组件至少包括Xenon组件。
5.根据权利要求2所述方法,其特征在于,所述确定所述服务集群选主成功,则根据保存的所述集群内访问地址创建所述集群主服务,包括:
在所述预设容器集群管理系统的操作模式确定所述服务集群内新的集群主服务;
控制所述操作模型读取所述自定义资源元数据保存的所述集群内访问地址;
控制所述操作模型将所述集群访问地址分配给所述新的集群主服务。
6.根据权利要求1-5中任一所述方法,其特征在于,所述根据所述集群主服务的切换信息在所述服务集群删除所述集群主服务,还包括:
阻塞所述服务集群内的已有容器会话链接以及拒绝新建容器会话链接。
7.根据权利要求1所述方法,其特征在于,所述切换信息包括以下至少之一:所述集群主服务无响应;主容器到数据库通信故障。
8.一种服务切换装置,其特征在于,所述装置包括:
地址保存模块,用于在服务集群启动时保存集群主服务的集群内访问地址;
服务删除模块,用于根据所述集群主服务的切换信息在所述服务集群删除所述集群主服务;
切换服务模块,用于确定所述服务集群选主成功,则根据保存的所述集群内访问地址创建所述集群主服务。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的服务切换方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的服务切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211407026.9A CN115580645A (zh) | 2022-11-10 | 2022-11-10 | 一种服务切换方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211407026.9A CN115580645A (zh) | 2022-11-10 | 2022-11-10 | 一种服务切换方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115580645A true CN115580645A (zh) | 2023-01-06 |
Family
ID=84589551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211407026.9A Pending CN115580645A (zh) | 2022-11-10 | 2022-11-10 | 一种服务切换方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115580645A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708459A (zh) * | 2023-07-20 | 2023-09-05 | 广州东瑞科技有限公司 | 服务访问自动切换方法、系统、计算机设备及存储介质 |
CN117609194A (zh) * | 2024-01-19 | 2024-02-27 | 中科泓泰电子有限公司 | 云数据库的处理方法、装置、电子设备及存储介质 |
-
2022
- 2022-11-10 CN CN202211407026.9A patent/CN115580645A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708459A (zh) * | 2023-07-20 | 2023-09-05 | 广州东瑞科技有限公司 | 服务访问自动切换方法、系统、计算机设备及存储介质 |
CN117609194A (zh) * | 2024-01-19 | 2024-02-27 | 中科泓泰电子有限公司 | 云数据库的处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115580645A (zh) | 一种服务切换方法、装置、电子设备和存储介质 | |
CN112948091B (zh) | 应用系统的迁移方法、装置、电子设备及存储介质 | |
CN111669284A (zh) | OpenStack自动化部署方法、电子设备、存储介质及系统 | |
CN113608765A (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN114070889B (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN115934742A (zh) | 一种故障处理方法、装置、设备及存储介质 | |
CN115599438A (zh) | 应用程序的发布包的构建方法、装置、设备及介质 | |
CN116069497A (zh) | 执行分布式任务的方法、装置、设备以及存储介质 | |
CN114691781A (zh) | 一种数据同步方法、系统、装置、设备及介质 | |
CN115510036A (zh) | 数据迁移方法、装置、设备以及存储介质 | |
CN115174447B (zh) | 一种网络通信方法、装置、系统、设备及存储介质 | |
CN116594764A (zh) | 一种应用程序的更新方法、装置、电子设备和存储介质 | |
CN115712679A (zh) | 一种数据处理系统、方法、电子设备及存储介质 | |
CN117234779A (zh) | 一种分布式数据库的异常恢复方法、装置、设备及介质 | |
CN116821144A (zh) | 一种升级方法、装置、设备及存储介质 | |
CN115665245A (zh) | 一种本地缓存刷新方法、装置、电子设备及存储介质 | |
CN114138538A (zh) | 异常实例的处理方法、装置和电子设备 | |
CN115168475A (zh) | 一种数据库操作方法、装置、电子设备及存储介质 | |
CN117055956A (zh) | 一种异构区块链的兼容方法、装置、设备以及存储介质 | |
CN115905406A (zh) | 基于嵌入式数据库的数据同步方法、装置、设备及介质 | |
CN118041915A (zh) | 一种流量控制方法、装置、设备及存储介质 | |
CN117009000A (zh) | 运行开源鸿蒙系统的组件、方法、装置、设备及介质 | |
CN116049311A (zh) | 一种数据同步方法、装置、电子设备和存储介质 | |
CN117251285A (zh) | 配置信息的动态加载方法、装置、设备及存储介质 | |
CN116016545A (zh) | Redis集群高可用的部署方法、装置、设备及存储介质 |
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 |