CN113923115B - 一种基于RocketMq的VPC配置下发方法 - Google Patents
一种基于RocketMq的VPC配置下发方法 Download PDFInfo
- Publication number
- CN113923115B CN113923115B CN202111175221.9A CN202111175221A CN113923115B CN 113923115 B CN113923115 B CN 113923115B CN 202111175221 A CN202111175221 A CN 202111175221A CN 113923115 B CN113923115 B CN 113923115B
- Authority
- CN
- China
- Prior art keywords
- rocketmq
- configuration
- vpc
- issuing
- logic
- 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.)
- Active
Links
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/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
-
- 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/0889—Techniques to speed-up the configuration process
-
- 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/0893—Assignment of logical groups to network elements
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于RocketMq的VPC配置下发方法,具体步骤如下:获取虚机上线信息,分配设备配置参数;将分配的设备配置参数根据网络协议,写为JSON报文格式;连接消息中间件RocketMq,获取指定主题下面的配置信息,所述配置信息包括逻辑队列数量、分区数;根据虚机所属VPC_ID和设备ID获取HashCode;利用逻辑队列数量和HashCode进行取模,取模的值为JSON报文要发送到Rocketmq逻辑队列的位置;异步发送JSON报文到Rocketmq的服务端中指定逻辑队列位置,并做异步监听;收到消息发送成功回调,记录配置下发操作日志。本发明所述的逻辑队列数和HashCode进行取模,保证消息可以有序下发到指定设备;通过日志,可以回溯下发失败的配置,进行配置重新下发。
Description
技术领域
本发明属于云计算网络领域,尤其是涉及一种基于RocketMq的VPC配置下发方法。
背景技术
VPC作为云计算网络的基础,为用户提供自定义私有网络,不同的专有网络之间逻辑上彻底隔离。VPC的配置作为云计算通信的基础配置,需要准确,高效,有序,持久性的下发到指定的设备上,由于VPC配置下发流程需要有序、高效、低延迟、持久性等特点,需要在网络波动等极端情况下仍然把配置有序下发到指定的设备上,针对VPC配置下发流程的有序性、高效性、持久性以及稳定性进行改造,以满足云计算资源创建、网络通信、租户数据隔离的产品要求。
发明内容
有鉴于此,本发明旨在提出一种基于RocketMq的VPC配置下发方法,以解决VPC配置在网络不稳定时能够实现配置有序下发到指定设备上的要求,满足VPC配置下发流程有序、高效、低延迟、持久性的要求。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于RocketMq的VPC配置下发方法,具体步骤如下:
S1、获取虚机上线信息,分配设备配置参数;
S2、将分配的设备配置参数根据网络协议,写为JSON报文格式;
S3、连接消息中间件RocketMq,获取指定主题下面的配置信息,所述配置信息包括逻辑队列数量、分区数;
S4、根据虚机所属VPC_ID以及设备ID获取哈希码HashCode;
S5、利用步骤S3中逻辑队列数量和步骤S4中HashCode进行取模,取模的值为JSON报文要发送到Rocketmq逻辑队列的位置;
S6、异步发送JSON报文到Rocketmq的服务端中指定逻辑队列位置,所述指定逻辑队列位置为步骤S5中确定的Rocketmq逻辑队列的位置,并做异步监听;
S7、收到消息发送成功回调,记录配置下发操作日志。
进一步的,步骤S1中,虚机上线相关信息包括上线所属CVK信息、对应物理网卡信息、虚机所属子网、虚机所属VPC,分配设备配置参数包括L3vni、L2vni、VRF实例、物理子接口、流量上下行口、防火墙入口IP。
进一步的,步骤S2中,各设备的JSON报文格式内容包括公共属性和各设备的特有属性,所述公共属性包括action_id操作唯一标识、request_id操作链路id、response_url操作回调URL、device设备信息、host IP地址、password密码、port端口、username用户名。
进一步的,步骤S3中,一个逻辑队列对应一个分区,包括一个主分区和多个辅助分区,所述逻辑队列也对应设置有一个主逻辑队列和多个辅助逻辑队列,分区设置多副本,支持VPC信息并行下发。
进一步的,步骤S4中,根据虚机所属VPC_ID和设备ID获取HashCode是利用JAVA语言内置的Hash函数获得的。
进一步的,步骤S5中,利用步骤S3中逻辑队列数量和步骤S4中HashCode进行取模的公式为:
取模的值=(VPC_ID和设备ID的HashCode)%Rocketmq的主题逻辑队列数量。
进一步的,步骤S6中,异步发送方式包括防火墙配置下发、Leaf交换机配置下发、Border交换机配置下发。
进一步的,步骤S6中,JSON报文以log文件的方式持久化到服务器的磁盘,文件需要的存储空间超过一定界限值可拆分为多个小文件。
相对于现有技术,本发明所述的一种基于RocketMq的VPC配置下发方法具有以下有益效果:
(1)本发明所述的逻辑队列和HashCode进行取模,保证消息可以有序下发到指定设备;通过日志,可以回溯下发失败的配置,进行配置重新下发。
(2)本发明所述的RocketMq同一个主题,可以指定多个逻辑队列,多个逻辑队列可以指定多个设备进行并行操作,提供VPC配置下发的吞吐量,消除HTTP同步响应并发低的弊端。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种基于RocketMq的VPC配置下发方法流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
如图1所示,一种基于RocketMq的VPC配置下发方法,具体步骤如下:
S1、获取虚机上线信息,分配设备配置参数;
S2、将分配的设备配置参数根据网络协议,写为JSON报文格式;
S3、连接消息中间件RocketMq,获取指定主题下面的配置信息,所述配置信息包括逻辑队列数量、分区数;
S4、根据虚机所属VPC_ID以及设备ID获取哈希码HashCode;
S5、利用步骤S3中逻辑队列数量和步骤S4中HashCode进行取模,取模的值为JSON报文要发送到Rocketmq逻辑队列的位置;
S6、异步发送JSON报文到Rocketmq的服务端中指定逻辑队列位置,所述指定逻辑队列位置为步骤S5中确定的Rocketmq逻辑队列的位置,并做异步监听;
S7、收到消息发送成功回调,记录配置下发操作日志。
如图1所示,步骤S1中,虚机上线相关信息包括上线所属CVK信息、对应物理网卡信息、虚机所属子网、虚机所属VPC,分配设备配置参数包括L3vni、L2vni、VRF实例、物理子接口、流量上下行口、防火墙入口IP。
如图1所示,步骤S2中,各设备的JSON报文格式包括公共属性和各设备的特有属性,所述公共属性包括action_id操作唯一标识、request_id操作链路id、response_url操作回调URL、device设备信息、host IP地址、password密码、port端口、username用户名。
如图1所示,步骤S3中,一个逻辑队列对应一个分区,包括一个主分区和多个辅助分区,所述逻辑队列也对应设置有一个主逻辑队列和多个辅助逻辑队列,分区设置多副本,支持VPC信息并行下发。
分区设置多副本,支持VPC信息并行下发,提高吞吐量,消除HTTP同步响应并发低的弊端;分区一般设置有三个,包括一个主分区和两个辅助分区。
如图1所示,步骤S4中,根据虚机所属VPC_ID和设备ID获取HashCode是利用JAVA语言内置的Hash函数获得的。
如图1所示,步骤S5中,利用步骤S3中逻辑队列数量和步骤S4中HashCode进行取模的公式为:
取模的值=(VPC_ID和设备ID的HashCode)%Rocketmq的主题逻辑队列数量。
如图1所示,步骤S6中,异步发送包括防火墙配置下发、Leaf交换机配置下发、Border交换机配置下发。
如图1所示,步骤S6中,JSON报文以log文件的方式持久化到服务器的磁盘,文件需要的存储空间超过一定界限值可拆分为多个小文件。
一定的界限值可设置为1G,保证VPC相关设备的配置进行间接的持久化。
此外,本申请列举防火墙设备和交换机设备两种JSON报文样例;
防火墙设备报文样例如下:
交换机设备样例报文如下:
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于RocketMq的VPC配置下发方法,其特征在于:具体步骤如下:
S1、获取虚机上线信息,分配设备配置参数;
S2、将分配的设备配置参数根据网络协议,写为JSON报文格式;
S3、连接消息中间件RocketMq,获取指定主题下面的配置信息,所述配置信息包括逻辑队列数量、分区数;
S4、根据虚机所属VPC_ID以及设备ID获取哈希码HashCode;
S5、利用步骤S3中逻辑队列数量和步骤S4中HashCode进行取模,取模的值为JSON报文要发送到Rocketmq逻辑队列的位置;
S6、异步发送JSON报文到Rocketmq的服务端中指定逻辑队列位置,所述指定逻辑队列位置为步骤S5中确定的Rocketmq逻辑队列的位置,并做异步监听;
S7、收到消息发送成功回调,记录配置下发操作日志。
2.根据权利要求1所述的一种基于RocketMq的VPC配置下发方法,其特征在于:步骤S1中,虚机上线相关信息包括上线所属CVK信息、对应物理网卡信息、虚机所属子网、虚机所属VPC,分配设备配置参数包括L3vni、L2vni、VRF实例、物理子接口、流量上下行口、防火墙入口IP。
3.根据权利要求1所述的一种基于RocketMq的VPC配置下发方法,其特征在于:步骤S2中,各设备的JSON报文格式内容包括公共属性和各设备的特有属性,所述公共属性包括action_id操作唯一标识、request_id操作链路id、response_url操作回调URL、device设备信息、host IP地址、password密码、port端口、username用户名。
4.根据权利要求1所述的一种基于RocketMq的VPC配置下发方法,其特征在于:步骤S3中,一个逻辑队列对应一个分区,包括一个主分区和多个辅助分区,所述逻辑队列也对应设置有一个主逻辑队列和多个辅助逻辑队列,分区设置多副本,支持VPC信息并行下发。
5.根据权利要求1所述的一种基于RocketMq的VPC配置下发方法,其特征在于:步骤S4中,根据虚机所属VPC_ID和设备ID获取HashCode是利用JAVA语言内置的Hash函数获得的。
6.根据权利要求1所述的一种基于RocketMq的VPC配置下发方法,其特征在于:步骤S5中,利用步骤S3中逻辑队列数量和步骤S4中HashCode进行取模的公式为:
取模的值=(VPC_ID和设备ID的HashCode)%Rocketmq的主题逻辑队列数量。
7.根据权利要求1所述的一种基于RocketMq的VPC配置下发方法,其特征在于:步骤S6中,异步发送方式包括防火墙配置下发、Leaf交换机配置下发、Border交换机配置下发。
8.根据权利要求1所述的一种基于RocketMq的VPC配置下发方法,其特征在于:步骤S6中,JSON报文以log文件的方式持久化到服务器的磁盘,文件需要的存储空间超过一定界限值可拆分为多个小文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111175221.9A CN113923115B (zh) | 2021-10-09 | 2021-10-09 | 一种基于RocketMq的VPC配置下发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111175221.9A CN113923115B (zh) | 2021-10-09 | 2021-10-09 | 一种基于RocketMq的VPC配置下发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113923115A CN113923115A (zh) | 2022-01-11 |
CN113923115B true CN113923115B (zh) | 2023-08-25 |
Family
ID=79238534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111175221.9A Active CN113923115B (zh) | 2021-10-09 | 2021-10-09 | 一种基于RocketMq的VPC配置下发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113923115B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116094938B (zh) * | 2023-01-16 | 2024-04-19 | 紫光云技术有限公司 | 基于kafka的网络拓扑同步方法、设备、服务器及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721306A (zh) * | 2016-02-04 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种配置信息的传输方法和装置 |
CN108512763A (zh) * | 2018-04-16 | 2018-09-07 | 广州市品高软件股份有限公司 | 一种流表规则生成过程的跟踪方法 |
CN109729019A (zh) * | 2018-12-28 | 2019-05-07 | 新华三技术有限公司 | 一种evpn组网中专线业务的限速方法及装置 |
CN110401588A (zh) * | 2019-07-15 | 2019-11-01 | 浪潮云信息技术有限公司 | 基于openstack的公有云平台中实现VPC对等连接方法及*** |
WO2020041074A1 (en) * | 2018-08-24 | 2020-02-27 | Vmware, Inc. | Intelligent use of peering in public cloud |
CN111131074A (zh) * | 2018-10-31 | 2020-05-08 | 中移(杭州)信息技术有限公司 | 一种数据处理方法、装置、***、服务器及可读存储介质 |
CN111984436A (zh) * | 2020-08-25 | 2020-11-24 | 中央广播电视总台 | 一种数据采集*** |
WO2020238891A1 (zh) * | 2019-05-31 | 2020-12-03 | 北京金山云网络技术有限公司 | 物理主机的租赁方法、装置、云平台及可读存储介质 |
CN113420076A (zh) * | 2021-06-02 | 2021-09-21 | 浪潮软件股份有限公司 | 一种政务服务平台的服务调度方法及调度模型*** |
-
2021
- 2021-10-09 CN CN202111175221.9A patent/CN113923115B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721306A (zh) * | 2016-02-04 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种配置信息的传输方法和装置 |
CN108512763A (zh) * | 2018-04-16 | 2018-09-07 | 广州市品高软件股份有限公司 | 一种流表规则生成过程的跟踪方法 |
WO2020041074A1 (en) * | 2018-08-24 | 2020-02-27 | Vmware, Inc. | Intelligent use of peering in public cloud |
CN111131074A (zh) * | 2018-10-31 | 2020-05-08 | 中移(杭州)信息技术有限公司 | 一种数据处理方法、装置、***、服务器及可读存储介质 |
CN109729019A (zh) * | 2018-12-28 | 2019-05-07 | 新华三技术有限公司 | 一种evpn组网中专线业务的限速方法及装置 |
WO2020238891A1 (zh) * | 2019-05-31 | 2020-12-03 | 北京金山云网络技术有限公司 | 物理主机的租赁方法、装置、云平台及可读存储介质 |
CN110401588A (zh) * | 2019-07-15 | 2019-11-01 | 浪潮云信息技术有限公司 | 基于openstack的公有云平台中实现VPC对等连接方法及*** |
CN111984436A (zh) * | 2020-08-25 | 2020-11-24 | 中央广播电视总台 | 一种数据采集*** |
CN113420076A (zh) * | 2021-06-02 | 2021-09-21 | 浪潮软件股份有限公司 | 一种政务服务平台的服务调度方法及调度模型*** |
Non-Patent Citations (1)
Title |
---|
杨绍光 ; 房秉毅 ; 毋涛 ; .基于SDN的虚拟私有云研究.信息通信技术.2015,(第02期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113923115A (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535766B (zh) | 一种生成路由的方法和设备 | |
US9559898B2 (en) | Automatically configuring data center networks with neighbor discovery protocol support | |
US20030204618A1 (en) | Using virtual identifiers to process received data routed through a network | |
CN112910685B (zh) | 实现对容器网络统一管理的方法及装置 | |
US20120320918A1 (en) | Bridge port between hardware lan and virtual switch | |
CN112769837B (zh) | 基于WebSocket的通信传输方法、装置、设备、***及存储介质 | |
CN108712457A (zh) | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 | |
CN108200018B (zh) | 云计算中的流量转发方法及设备、计算机设备及可读介质 | |
CN113923115B (zh) | 一种基于RocketMq的VPC配置下发方法 | |
CN106375486B (zh) | 一种云平台软件定义dhcp服务的*** | |
WO2013126430A1 (en) | Systems and methods involving virtual machine host isolation over a network | |
EP3229413B1 (en) | Cross-domain cooperative method, cooperative device and control device for network as a service business | |
CN109194525A (zh) | 一种网络节点配置方法及管理节点 | |
CN105071965B (zh) | 一种网络设备的管理*** | |
RU2602333C2 (ru) | Сетевая система, способ обработки пакетов и носитель записи | |
US8880739B1 (en) | Point backbones for network deployment | |
CN107025146A (zh) | 一种文件生成方法、装置和*** | |
US20160212083A9 (en) | Connection sharing across entities in a distributed messaging system | |
CN108632176B (zh) | 堆叠***、pe设备及报文转发方法 | |
US9104347B2 (en) | Systems, methods, and apparatus to print messages from an electronic mailbox | |
WO2009121269A1 (zh) | 即时通信中用户信息的表现方法、即时通信***及设备 | |
WO2007038049A2 (en) | Endpoint transparent independent messaging scheme system and method | |
JPH11112503A (ja) | ネットワークシステムおよびネットワーク機器 | |
CN110266705B (zh) | 一种控制方法及*** | |
CN107454210A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |