CN116647453A - 一种基于Redis Cluster的拓扑同步方法 - Google Patents
一种基于Redis Cluster的拓扑同步方法 Download PDFInfo
- Publication number
- CN116647453A CN116647453A CN202310561876.2A CN202310561876A CN116647453A CN 116647453 A CN116647453 A CN 116647453A CN 202310561876 A CN202310561876 A CN 202310561876A CN 116647453 A CN116647453 A CN 116647453A
- Authority
- CN
- China
- Prior art keywords
- redis
- vpc
- processor
- synchronization method
- cvk
- 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 27
- 230000008859 change Effects 0.000 claims abstract description 8
- 239000013589 supplement Substances 0.000 claims abstract description 3
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
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/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- 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
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于Redis Cluster的拓扑同步方法,包括以下步骤:S1、获取虚机上线相关信息,准备相关配置参数;S2、获取VPC下当前CVK上以上线的网卡数据,进行增量补充;S3、基于VPC算出变更版本号,并拼接版本号在Redis的唯一标识;S4、基于CVK算出变更版本号,并拼接需要刷新版本号在Redis的唯一标识;S5、根据可用区计算所属的Redis Slot;S6、基于Redis lua脚本,刷新步骤S3、步骤S4在Redis记录的版本号。本发明有益效果:一种基于Redis Cluster的拓扑同步方法,基于Redis Cluster的OVN配置下发方法可以快速进行数据分片、数据副本、故障上报,提高VPC配置下发的吞吐量、降低配置数据量、故障切换能力并保证VPC配置可以有序的下发到各类设备上。
Description
技术领域
本发明属于云计算领域,尤其是涉及一种基于Redis Cluster的拓扑同步方法。
背景技术
VPC作为云计算网络的基础,为用户提供自定义私有网络,不同的专有网络之间逻辑上彻底隔离。VPC的配置作为云计算通信的基础配置,需要准确,高效,有序,持久性的下发到指定的设备上,传统网络模式的VPC需要在物理设备上的即防火墙、Leaf交换机、Border交换机进行配置下发,由于依赖物理设备,扩张能力差、成本较高等弊端,因此引入OVN实现虚机网络VPC配置下发。OVN在原有OVS的基础上进行扩展,摆脱OVS单机存储、集群扩展能力差等缺点,通过中心节点运行着OVN北向数据库和OVN南向数据库的多数据源存储方式,北向数据库存储逻辑网络数据;南向数据库,其将北向数据库的逻辑网络数据格式转换为物理网络数据格式并进行存储。通过数据存储的比对、转发、存储等方式完成网络L2、L3层配置相关数据的下发。引入OVN强大控制能力的同时,也带来了数据存储的压力,由于OVN南北向数据库是单独存在于CVK设备上,数据量相对于控制层数据来说相对较少,随着可用区内设备数量的增加,虚拟机等资源的增加,网络控制层的数据会议指数级增长,当节点的Redis作为数据存储将影响OVN同步数据的能力,导致网络通信配置下发延迟时间较长,生效时间较慢。横向扩展Redis集群,引入Redis Cluster并根据可用区将资源划分为多个块,降低每块数据的存储量,提高数据读取的能力,同时Redis Cluster引入的高可用性,保证在多可用区场景下,避免单节点的故障引起的网络通信服务不可用。提高服务可用性,保证网络服务在遇到故障后,可以平滑切换,提高可用性。
发明内容
有鉴于此,本发明旨在提出一种基于Redis Cluster的拓扑同步方法,以至少解决背景技术中的至少一个问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于Redis Cluster的拓扑同步方法,包括以下步骤:
S1、获取虚机上线相关信息,准备相关配置参数;
S2、获取VPC下当前CVK上以上线的网卡数据,进行增量补充;
S3、基于VPC算出变更版本号,并拼接版本号在Redis的唯一标识;
S4、基于CVK算出变更版本号,并拼接需要刷新版本号在Redis的唯一标识;
S5、根据可用区计算所属的Redis Slot;
S6、基于Redis lua脚本,刷新步骤S3、步骤S4在Redis记录的版本号;
S7、推送步骤S2计算出的网卡信息;
S8、启动AOF文件监听,同步Redis主Slot和副本SLot的AOF文件;
S9、启动监听,监听CVK上报告警,判断是否需要同步刷新数据,需要则全量刷新当前VPC和CVK所属SLOT的信息;
S10、发送HTTP请求,下发当前上线网卡所对应的配置信息,并记录操作日志;
S11、监听Redis脚本执行回调,记录操作日志。
进一步的,在步骤S3中的唯一标识格式如下:
VPC:HOST:ZONE_{可用区ID}:{l3vni}。
进一步的,在步骤S4中的唯一标识格式如下:
VPC:CVK:ZONE_{可用区ID}:{l3vni}。
进一步的,本方案公开了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行一种基于Redis Cluster的拓扑同步方法。
进一步的,本方案公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行一种基于Redis Cluster的拓扑同步方法。
进一步的,本方案公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行一种基于Redis Cluster的拓扑同步方法。
相对于现有技术,本发明所述的一种基于Redis Cluster的拓扑同步方法具有以下有益效果:
本发明所述的一种基于Redis Cluster的拓扑同步方法,基于Redis Cluster的OVN配置下发方法可以快速进行数据分片、数据副本、故障上报,提高VPC配置下发的吞吐量、降低配置数据量、故障切换能力并保证VPC配置可以有序的下发到各类设备上。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种基于Redis Cluster的拓扑同步方法示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
本方案保证VPC同一个CVK配置分区有序:利用Redis Cluster Hash Tag方式对数据进行分区,保证VPC相同可用区的数据存在在固定的Redis Slot内,并使用分布式锁以及单线程执行特性,保证OVN中心控制节点接受数据的在可用区内有序性,地域内并发执行,以保证配置下发设备的有序性、高效性
本方案多维度拆分数据,降低数据拉取量:基于VPC、CVK、可用区的角度进行数据拆分、分片存储,降低数据拉取量,提高配置下发数据传输效率,提供VPC配置下发的吞吐量
本方案引入Redis副本Slot概念,保证故障合理迁移:通过对数据备份进副本Slot,在主Redis节点数据出现异常时候,网络服务的高可用
本方案利用Redis数据持久化文件的特性,保证VPC配置的持久化:Redis数据以文件的方式持久化到服务器的磁盘,并拆分为多个小文件,可以保证VPC相关设备的配置进行间接的持久化
本方案通过二进制数据压缩,提高数据传输效率:通过对VPC配置数据进行二进制压缩,缩小数据报文,提高传输效率,节省网络带宽;
本方案基于Redis Cluster的OVN配置下发方法可以快速进行数据分片、数据副本、故障上报,提高VPC配置下发的吞吐量、降低配置数据量、故障切换能力并保证VPC配置可以有序的下发到各类设备上。
1、数据分片,提高集群扩展能力,降低大规模集群数据传输的成本;
2、通过持久化日志,可以回溯下发失败的配置,进行配置重新下发;
3、引入副本Redis Slot,通Redis AOF文件同步方式,防止分区Redis数据异常导致配置异常,提高服务高可用性;
4、引入故障上报机制,自动补发配置,提高运维能力;
基于Redis Cluster的拓扑同步方法流程如下:
1、获取虚机上线相关信息,准备相关配置参数;
2、获取VPC下当前CVK上以上线的网卡数据,进行增量补充;
3、基于VPC算出变更版本号(时间戳),并拼接版本号在Redis的唯一标识,格式如下:
VPC:HOST:ZONE_{可用区ID}:{l3vni};
4、基于CVK算出变更版本号(时间戳),并拼接需要刷新版本号在Redis的唯一标识;
格式如下:VPC:CVK:ZONE_{可用区ID}:{l3vni};
5、根据可用区计算所属的Redis Slot;
6、基于Redis lua脚本,刷新步骤3、步骤4在Redis记录的版本号;
7、推送步骤2计算出的网卡信息;
8、启动AOF文件监听,同步Redis主Slot和副本SLot的AOF文件;
9、启动监听,监听CVK上报告警,判断是否需要同步刷新数据,需要则全量刷新当前VPC;
和CVK所属SLOT的信息;
10、发送HTTP请求,下发当前上线网卡所对应的配置信息,并记录操作日志;
11、监听Redis脚本执行回调,记录操作日志基于Canal的网络拓扑同步方法的流程图如图1所示。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于Redis Cluster的拓扑同步方法,其特征在于,包括以下步骤:
S1、获取虚机上线相关信息,准备相关配置参数;
S2、获取VPC下当前CVK上以上线的网卡数据,进行增量补充;
S3、基于VPC算出变更版本号,并拼接版本号在Redis的唯一标识;
S4、基于CVK算出变更版本号,并拼接需要刷新版本号在Redis的唯一标识;
S5、根据可用区计算所属的Redis Slot;
S6、基于Redislua脚本,刷新步骤S3、步骤S4在Redis记录的版本号;
S7、推送步骤S2计算出的网卡信息;
S8、启动AOF文件监听,同步Redis主Slot和副本SLot的AOF文件;
S9、启动监听,监听CVK上报告警,判断是否需要同步刷新数据,需要则全量刷新当前VPC和CVK所属SLOT的信息;
S10、发送HTTP请求,下发当前上线网卡所对应的配置信息,并记录操作日志;
S11、监听Redis脚本执行回调,记录操作日志。
2.根据权利要求1所述的一种基于Redis Cluster的拓扑同步方法,其特征在于,在步骤S3中的唯一标识格式如下:
VPC:HOST:ZONE_{可用区ID}:{l3vni}。
3.根据权利要求1所述的一种基于Redis Cluster的拓扑同步方法,其特征在于,在步骤S4中的唯一标识格式如下:
VPC:CVK:ZONE_{可用区ID}:{l3vni}。
4.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1-3任一所述的一种基于Redis Cluster的拓扑同步方法。
5.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1-3任一所述的一种基于Redis Cluster的拓扑同步方法。
6.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-3任一项所述的一种基于Redis Cluster的拓扑同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310561876.2A CN116647453A (zh) | 2023-05-18 | 2023-05-18 | 一种基于Redis Cluster的拓扑同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310561876.2A CN116647453A (zh) | 2023-05-18 | 2023-05-18 | 一种基于Redis Cluster的拓扑同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116647453A true CN116647453A (zh) | 2023-08-25 |
Family
ID=87623984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310561876.2A Pending CN116647453A (zh) | 2023-05-18 | 2023-05-18 | 一种基于Redis Cluster的拓扑同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116647453A (zh) |
-
2023
- 2023-05-18 CN CN202310561876.2A patent/CN116647453A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11397647B2 (en) | Hot backup system, hot backup method, and computer device | |
CN113032085A (zh) | 云操作系统的管理方法、装置、服务器、管理系统及介质 | |
CN112202853B (zh) | 数据同步方法、系统、计算机设备和存储介质 | |
US20120324436A1 (en) | Method of updating versioned software using a shared cache | |
CN106452836A (zh) | 主节点设置方法及装置 | |
CN113568813A (zh) | 一种海量网络性能数据采集方法、装置及系统 | |
CN111651302A (zh) | 分布式数据库备份方法,装置及系统 | |
CN105550230A (zh) | 分布式存储系统节点故障的侦测方法和装置 | |
CN113190620B (zh) | Redis集群之间数据的同步方法、装置、设备及存储介质 | |
CN114328033A (zh) | 保持高可用设备组业务配置一致性的方法及装置 | |
CN110620798A (zh) | Ftp连接的控制方法、系统、设备和存储介质 | |
CN110298031B (zh) | 一种词典服务系统及模型版本一致性配送方法 | |
CN116647453A (zh) | 一种基于Redis Cluster的拓扑同步方法 | |
CN115292293A (zh) | 分布式缓存系统的数据迁移方法和装置 | |
CN114610545A (zh) | 减少私有云计算的单点故障的方法、系统、设备及介质 | |
CN113961398A (zh) | 业务处理方法、装置、系统、设备、存储介质和产品 | |
CN115248746A (zh) | 数据备份方法、系统及相关设备 | |
CN114064795A (zh) | 数据同步方法、装置、电子设备和存储介质 | |
CN112035250A (zh) | 高可用局域网服务管理方法、设备及部署架构 | |
CN111142921A (zh) | 软件升级方法及装置 | |
CN114884948B (zh) | 一种数据处理系统 | |
CN116094938B (zh) | 基于kafka的网络拓扑同步方法、设备、服务器及存储介质 | |
CN114070845B (zh) | 协同报送交易信息的方法及装置 | |
CN111797062B (zh) | 数据处理方法、装置和分布式数据库系统 | |
CN117201299A (zh) | 集群网络快速调整方法、装置、终端及存储介质 |
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 |