CN114546584A - 一种基于kafka的vpc配置下发方法 - Google Patents

一种基于kafka的vpc配置下发方法 Download PDF

Info

Publication number
CN114546584A
CN114546584A CN202111613233.5A CN202111613233A CN114546584A CN 114546584 A CN114546584 A CN 114546584A CN 202111613233 A CN202111613233 A CN 202111613233A CN 114546584 A CN114546584 A CN 114546584A
Authority
CN
China
Prior art keywords
configuration
vpc
kafka
issuing
processing 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.)
Pending
Application number
CN202111613233.5A
Other languages
English (en)
Inventor
杨志鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unicloud Nanjing Digital Technology Co Ltd
Original Assignee
Unicloud Nanjing Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Unicloud Nanjing Digital Technology Co Ltd filed Critical Unicloud Nanjing Digital Technology Co Ltd
Priority to CN202111613233.5A priority Critical patent/CN114546584A/zh
Publication of CN114546584A publication Critical patent/CN114546584A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于KAFKA的VPC配置下发方法,包括读取并解析配置虚机VPC,获取虚机VPC上线信息和待分配设备配置参数;基于KAFKA集群处理平台获取其指定主题下的配置信息;根据待分配设备的ID以及虚机VPC的ID,分别计算对应的HashCode值;通过对KAFKA集群处理平台配置信息以及HashCode值进行取模后,计算待分配设备配置参数发送到KAFKA集群处理平台的指定分区后,进行异步下发;KAFKA集群处理平台进行异步监听,并记录此次下发操作日志。利用KAFKA多分区的特性,在提高吞度量KFAKA的同时,也可以在同一个主题下,指定多个分区,进而由多个分区指定多个消费者进行并行消费,最后利用多消费者的特性,达到提供VPC配置下发的吞吐量要求。

Description

一种基于KAFKA的VPC配置下发方法
技术领域
本发明涉及VPC配置有序下发设备技术领域,具体为一种基于KAFKA的VPC配置下发方法。
背景技术
VPC作为云计算网络的基础,为用户提供自定义私有网络,不同的专有网络之间逻辑上彻底隔离。VPC的配置作为云计算通信的基础配置,需要准确,高效,有序,持久性的下发到指定的设备上,而VPC在设备上的配置分为三大类:
即,防火墙、Leaf交换机、Border交换机,各个配置之间具有相互依赖,并在各个设备上需要有序下发。由于VPC配置下发流程需要有序、高效、低延迟、持久性等特点,需要在网络波动等极端情况下仍然把配置有序下发到指定的设备上,因此需要解除KAFKA高吞吐量、数据持久、高可用等特性,针对VPC配置下发流程的有序性、高效性、持久性以及稳定性进行改造,以满足云计算资源创建、网络通信、租户数据隔离的产品要求。
基于此,本申请提出的基于KAFKA的VPC配置下发方法,依托KAFKA消费组、分区、数据异步刷盘等特性,极大的避免了HTTP请求的不稳定性,以及数据无法持久化的弊端,提高下发配置的成功率,同时改善多设备、多次操作配置无法有序到达相关设备的缺点,达到在分布式高并发的业务需求下,也能迅速响应相关业的优点。
发明内容
针对现有技术存在的不足,本发明目的是提供一种基于KAFKA的VPC配置下发方法,以解决上述背景技术中提出的问题。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种基于KAFKA的VPC配置下发方法,包括以下步骤:
第一步,读取并解析配置虚机VPC,获取虚机VPC上线信息和待分配设备配置参数;
第二步,基于KAFKA集群处理平台获取其指定主题下的配置信息,其中,KAFKA集群处理平台的配置信息包括分区数量以及分区相关参数;
第三步,根据待分配设备的ID以及虚机VPC的ID,分别计算对应的HashCode值;
第四步,通过对KAFKA集群处理平台配置信息以及HashCode值进行取模后,计算待分配设备配置参数发送到KAFKA集群处理平台的指定分区后,进行异步下发;
第五步,KAFKA集群处理平台进行异步监听,并记录此次下发操作日志。
作为对本发明中所述一种基于KAFKA的VPC配置下发方法的改进,在获取虚机VPC上线信息和待分配设备配置参数之后,且,在获取KAFKA集群处理平台指定主题的配置信息之前,还包括:
需要将所述待分配设备配置参数组装成待分配设备所需要的报文格式。
作为对本发明中所述一种基于KAFKA的VPC配置下发方法的改进,第一步中,若在获取虚机VPC上线信息和待分配设备配置参数不成功时,或
若在将所述待分配设备配置参数组装成待分配设备所需要的报文格式不成功时,则需要回滚数据,直至成功。
作为对本发明中所述一种基于KAFKA的VPC配置下发方法的改进,第二步中,若基于KAFKA集群处理平台获取其指定主题下的配置信息不成功时,还包括,将不成功的配置信息进行回滚,重新对指定主题下的配置信息进行回溯,直至获取成功。
作为对本发明中所述一种基于KAFKA的VPC配置下发方法的改进,第四步中,所述异步下发的方式为防火墙配置下发或Leaf交换机配置下发或Border交换机配置下发。
作为对本发明中所述一种基于KAFKA的VPC配置下发方法的改进,若进行异步下发不成功时,则,进行数据回滚,基于第一步,重新读取并解析配置虚机VPC,直至下发成功。
与现有技术相比,本发明的有益效果:
1、本发明,首先利用KAFKA消费端只能消费单一分区的特性,将同一设备的数据分配到统一分区,保证配置下发设备的有序性;
2、其次,利用KAFKA多分区的特性,提高吞度量KFAKA,在同一个主题下,可以指定多个分区,而多个分区可以指定多个消费者进行并行消费,利用多消费者的特性,达到提供VPC配置下发的吞吐量要求;
3、再次,由于分布式业务多节点分布的特性,数据需要进行多节点备份,VPC配置在发送到KAKFA时,多个副本需要保存数据,因此,本发明利用KAFKA分区副本,保证VPC配置的分区容错可以保证部分节点出现异常时,VPC配置仍能有效地下发到指定设备;
4、通过建立的KAKFA消息的ACK确认机制,消除网络波动对配置下发的影响,进一步达到,在网络有波动无法进行确认时,KAFKA可以重复发送消息,从而保证VPC配置下发服务可以收到未处理的VPC配置信息进行再次下发,保证配置可以在网络波动后有效的下发到指定设备。
附图说明
参照附图来说明本发明的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本发明的保护范围构成限制,在附图中,相同的附图标记用于指代相同的部件。其中:
图1为本发明一实施例中所提出的基于KAFKA的VPC配置下发方法的具体实施流程图;
图2为本发明一实施例中所提出的基于KAFKA的VPC配置下发方法的流程示意图。
具体实施方式
容易理解,根据本发明的技术方案,在不变更本发明实质精神下,本领域的一般技术人员可以提出可相互替换的多种结构方式以及实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
如图1-2所示,本发明提供一种基于KAFKA的VPC配置下发方法,包括以下步骤:
第一步,读取并解析配置虚机VPC,获取虚机VPC上线信息和待分配设备配置参数;
第二步,基于KAFKA集群处理平台获取其指定主题下的配置信息,其中,KAFKA集群处理平台的配置信息包括分区数量以及分区相关参数,目的在于利用分区多副本特性,可以支持VPC并行下发,提高吞吐量,消除HTTP同步响应并发低的弊端,需要说明的是,在获取虚机VPC上线信息和待分配设备配置参数之后,且,在获取KAFKA集群处理平台指定主题的配置信息之前,还包括:需要将待分配设备配置参数组装成待分配设备所需要的报文格式,其中,报文格式为agent基础报文;
第三步,根据待分配设备的ID以及虚机VPC的ID,分别计算对应的HashCode值;
第四步,通过对KAFKA集群处理平台配置信息以及HashCode值进行取模后,计算待分配设备配置参数发送到KAFKA集群处理平台的指定分区后,进行异步下发,异步下发的方式为防火墙配置下发或Leaf交换机配置下发或Border交换机配置下发,需要说明的是,通过HashCode取模以及KAFKA主题分区数,保证消息可以有序下发到指定设备;
第五步,异步发送设备配置报文到KAFKA的服务端,并做异步监听,当KAFKA集群处理平台进行异步监听时,在收到消息发送回调后,记录此次下发操作日志,完成此次VPC配置下发指令,可以理解的是,若进行异步下发不成功时,则,进行数据回滚,基于第一步,重新读取并解析配置虚机VPC,直至下发成功,而通过记录持久化日志,可以回溯下发失败的配置,进行配置重新下发,保证VPC配置的持久化的具体实施为:KFAKA数据以log文件的方式持久化到服务器的磁盘,并拆分为多个小文件。
在本发明的一实施例中,若在获取虚机VPC上线信息和待分配设备配置参数不成功时,或
若在将待分配设备配置参数组装成待分配设备所需要的报文格式不成功时,则需要回滚数据,直至成功。
与此同时,若基于KAFKA集群处理平台获取其指定主题下的配置信息不成功时,还包括,将不成功的配置信息进行回滚处理,并重新对指定主题下的配置信息进行回溯,直至获取成功。
基于上述技术构思,需要说明的是,本发明提出的KFAKA集群处理平台是利用OFFSET作为消费标识,可以进行自动和手动模式进行指定相关OFFSET的数据进行消费,同时,VPC配置可以利用改特性,对有问题的配置,进行重复消费,重复确认,以及配置回溯,基于KAFKA的VPC配置下发方法可以快速回溯VPC失败配置、提高VPC配置下发的吞吐量、并保证VPC配置可以有序的下发到各类设备上,
本发明的技术范围不仅仅局限于上述说明中的内容,本领域技术人员可以在不脱离本发明技术思想的前提下,对上述实施例进行多种变形和修改,而这些变形和修改均应当属于本发明的保护范围内。

Claims (6)

1.一种基于KAFKA的VPC配置下发方法,其特征在于:包括以下步骤:
第一步,读取并解析配置虚机VPC,获取虚机VPC上线信息和待分配设备配置参数;
第二步,基于KAFKA集群处理平台获取其指定主题下的配置信息,其中,KAFKA集群处理平台的配置信息包括分区数量以及分区相关参数;
第三步,根据待分配设备的ID以及虚机VPC的ID,分别计算对应的HashCode值;
第四步,通过对KAFKA集群处理平台配置信息以及HashCode值进行取模,计算待分配设备配置参数发送到KAFKA集群处理平台的指定分区后,进行异步下发;
第五步,KAFKA集群处理平台进行异步监听,并记录此次下发操作日志。
2.根据权利要求1所述的一种基于KAFKA的VPC配置下发方法,其特征在于:
在获取虚机VPC上线信息和待分配设备配置参数之后,且,在获取KAFKA集群处理平台指定主题的配置信息之前,还包括:
需要将所述待分配设备配置参数组装成待分配设备所需要的报文格式。
3.根据权利要求1或2所述的一种基于KAFKA的VPC配置下发方法,其特征在于:第一步中,若在获取虚机VPC上线信息和待分配设备配置参数不成功时,或
若在将所述待分配设备配置参数组装成待分配设备所需要的报文格式不成功时,则需要回滚数据,直至成功。
4.根据权利要求1所述的一种基于KAFKA的VPC配置下发方法,其特征在于:第二步中,若基于KAFKA集群处理平台获取其指定主题下的配置信息不成功时,还包括,将不成功的配置信息进行回滚,重新对指定主题下的配置信息进行回溯,直至获取成功。
5.根据权利要求1所述的一种基于KAFKA的VPC配置下发方法,其特征在于:第四步中,所述异步下发的方式为防火墙配置下发或Leaf交换机配置下发或Border交换机配置下发。
6.根据权利要求1或5所述的一种基于KAFKA的VPC配置下发方法,其特征在于:若进行异步下发不成功时,则,进行数据回滚,基于第一步,重新读取并解析配置虚机VPC,直至下发成功。
CN202111613233.5A 2021-12-27 2021-12-27 一种基于kafka的vpc配置下发方法 Pending CN114546584A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111613233.5A CN114546584A (zh) 2021-12-27 2021-12-27 一种基于kafka的vpc配置下发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111613233.5A CN114546584A (zh) 2021-12-27 2021-12-27 一种基于kafka的vpc配置下发方法

Publications (1)

Publication Number Publication Date
CN114546584A true CN114546584A (zh) 2022-05-27

Family

ID=81668988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111613233.5A Pending CN114546584A (zh) 2021-12-27 2021-12-27 一种基于kafka的vpc配置下发方法

Country Status (1)

Country Link
CN (1) CN114546584A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995173A (zh) * 2021-02-24 2021-06-18 紫光云技术有限公司 一种裸金属安全控制方法
CN116094938A (zh) * 2023-01-16 2023-05-09 紫光云技术有限公司 基于kafka的网络拓扑同步方法、设备、服务器及存储介质
CN116225344A (zh) * 2023-05-08 2023-06-06 广州睿帆科技有限公司 数据写入方法、装置、系统及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995173A (zh) * 2021-02-24 2021-06-18 紫光云技术有限公司 一种裸金属安全控制方法
CN116094938A (zh) * 2023-01-16 2023-05-09 紫光云技术有限公司 基于kafka的网络拓扑同步方法、设备、服务器及存储介质
CN116094938B (zh) * 2023-01-16 2024-04-19 紫光云技术有限公司 基于kafka的网络拓扑同步方法、设备、服务器及存储介质
CN116225344A (zh) * 2023-05-08 2023-06-06 广州睿帆科技有限公司 数据写入方法、装置、系统及存储介质

Similar Documents

Publication Publication Date Title
CN114546584A (zh) 一种基于kafka的vpc配置下发方法
CN109918349B (zh) 日志处理方法、装置、存储介质和电子装置
US20090144338A1 (en) Asynchronously replicated database system using dynamic mastership
CN110795503A (zh) 分布式存储系统的多集群数据同步方法及相关装置
US20090144220A1 (en) System for storing distributed hashtables
CN104167817B (zh) 一种电力设备实时信息集成的系统及方法
CN108140035B (zh) 分布式系统的数据库复制方法及装置
CN113282604B (zh) 基于消息队列实现的高可用时序数据库集群系统
CN111506649A (zh) 交易数据容灾切换方法、装置及计算设备、存储介质
WO2017071384A1 (zh) 报文处理的方法及装置
CN111913837A (zh) 大数据环境下实现分布式中间件消息恢复策略管理的系统
JP2023505879A (ja) 分散型データベースシステム及びデータ災害バックアップ訓練方法
KR102031589B1 (ko) 관계 체인 처리 방법 및 시스템, 그리고 저장 매체
CN104079663A (zh) 分布式实时同步网络系统及其通告数据的方法
CN109302319B (zh) 报文池分布式集群及其管理方法
CN113360319B (zh) 一种数据备份方法和装置
CN114039978B (zh) 一种去中心化的PoW算力集群部署方法
US20220358118A1 (en) Data synchronization in edge computing networks
CN109445984A (zh) 一种业务恢复方法、装置、仲裁服务器以及存储系统
CN112667698B (zh) 一种基于融媒体平台的MongoDB数据同步方法
CN114584573A (zh) 一种基于长轮询机制的节点机信息同步方法
CN109327529B (zh) 分布式扫描方法及系统
CN105095248A (zh) 一种数据库集群系统及其恢复方法、管理节点
CN110266795A (zh) 一种基于Openstack平台控制方法
CN117827480A (zh) 一种扩展Kafka消费模式的方法及装置

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