一种基于RocketMq的VPC配置下发方法与流程

文档序号:28426607发布日期:2022-01-12 00:21阅读:129来源:国知局
一种基于RocketMq的VPC配置下发方法与流程
一种基于rocketmq的vpc配置下发方法
技术领域
1.本发明属于云计算网络领域,尤其是涉及一种基于rocketmq的vpc配置下发方法。


背景技术:

2.vpc作为云计算网络的基础,为用户提供自定义私有网络,不同的专有网络之间逻辑上彻底隔离。vpc的配置作为云计算通信的基础配置,需要准确,高效,有序,持久性的下发到指定的设备上,由于vpc配置下发流程需要有序、高效、低延迟、持久性等特点,需要在网络波动等极端情况下仍然把配置有序下发到指定的设备上,针对vpc配置下发流程的有序性、高效性、持久性以及稳定性进行改造,以满足云计算资源创建、网络通信、租户数据隔离的产品要求。


技术实现要素:

3.有鉴于此,本发明旨在提出一种基于rocketmq的vpc配置下发方法,以解决vpc配置在网络不稳定时能够实现配置有序下发到指定设备上的要求,满足vpc配置下发流程有序、高效、低延迟、持久性的要求。
4.为达到上述目的,本发明的技术方案是这样实现的:
5.一种基于rocketmq的vpc配置下发方法,具体步骤如下:
6.s1、获取虚机上线信息,分配设备配置参数;
7.s2、将分配的设备配置参数根据网络协议,写为json报文格式;
8.s3、连接消息中间件rocketmq,获取指定主题下面的配置信息,所述配置信息包括逻辑队列数量、分区数;
9.s4、根据虚机所属vpc_id以及设备id获取哈希码hashcode;
10.s5、利用步骤s3中逻辑队列数量和步骤s4中hashcode进行取模,取模的值为json报文要发送到rocketmq逻辑队列的位置;
11.s6、异步发送json报文到rocketmq的服务端中指定逻辑队列位置,所述指定逻辑队列位置为步骤s5中确定的rocketmq逻辑队列的位置,并做异步监听;
12.s7、收到消息发送成功回调,记录配置下发操作日志。
13.进一步的,步骤s1中,虚机上线相关信息包括上线所属cvk信息、对应物理网卡信息、虚机所属子网、虚机所属vpc,分配设备配置参数包括l3vni、l2vni、vrf实例、物理子接口、流量上下行口、防火墙入口ip。
14.进一步的,步骤s2中,各设备的json报文格式内容包括公共属性和各设备的特有属性,所述公共属性包括action_id操作唯一标识、request_id操作链路id、response_url操作回调url、device设备信息、host ip地址、password密码、port端口、username用户名。
15.进一步的,步骤s3中,一个逻辑队列对应一个分区,包括一个主分区和多个辅助分区,所述逻辑队列也对应设置有一个主逻辑队列和多个辅助逻辑队列,分区设置多副本,支持vpc信息并行下发。
16.进一步的,步骤s4中,根据虚机所属vpc_id和设备id获取hashcode是利用java语言内置的hash函数获得的。
17.进一步的,步骤s5中,利用步骤s3中逻辑队列数量和步骤s4中hashcode进行取模的公式为:
18.取模的值=(vpc_id和设备id的hashcode)%rocketmq的主题逻辑队列数量。
19.进一步的,步骤s6中,异步发送方式包括防火墙配置下发、leaf交换机配置下发、border交换机配置下发。
20.进一步的,步骤s6中,json报文以log文件的方式持久化到服务器的磁盘,文件需要的存储空间超过一定界限值可拆分为多个小文件。
21.相对于现有技术,本发明所述的一种基于rocketmq的vpc配置下发方法具有以下有益效果:
22.(1)本发明所述的逻辑队列和hashcode进行取模,保证消息可以有序下发到指定设备;通过日志,可以回溯下发失败的配置,进行配置重新下发。
23.(2)本发明所述的rocketmq同一个主题,可以指定多个逻辑队列,多个逻辑队列可以指定多个设备进行并行操作,提供vpc配置下发的吞吐量,消除http同步响应并发低的弊端。
附图说明
24.构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
25.图1为本发明实施例所述的一种基于rocketmq的vpc配置下发方法流程图。
具体实施方式
26.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
27.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
28.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
29.下面将参考附图并结合实施例来详细说明本发明。
30.如图1所示,一种基于rocketmq的vpc配置下发方法,具体步骤如下:
31.s1、获取虚机上线信息,分配设备配置参数;
32.s2、将分配的设备配置参数根据网络协议,写为json报文格式;
33.s3、连接消息中间件rocketmq,获取指定主题下面的配置信息,所述配置信息包括逻辑队列数量、分区数;
34.s4、根据虚机所属vpc_id以及设备id获取哈希码hashcode;
35.s5、利用步骤s3中逻辑队列数量和步骤s4中hashcode进行取模,取模的值为json报文要发送到rocketmq逻辑队列的位置;
36.s6、异步发送json报文到rocketmq的服务端中指定逻辑队列位置,所述指定逻辑队列位置为步骤s5中确定的rocketmq逻辑队列的位置,并做异步监听;
37.s7、收到消息发送成功回调,记录配置下发操作日志。
38.如图1所示,步骤s1中,虚机上线相关信息包括上线所属cvk信息、对应物理网卡信息、虚机所属子网、虚机所属vpc,分配设备配置参数包括l3vni、l2vni、vrf实例、物理子接口、流量上下行口、防火墙入口ip。
39.如图1所示,步骤s2中,各设备的json报文格式包括公共属性和各设备的特有属性,所述公共属性包括action_id操作唯一标识、request_id操作链路id、response_url操作回调url、device设备信息、host ip地址、password密码、port端口、username用户名。
40.如图1所示,步骤s3中,一个逻辑队列对应一个分区,包括一个主分区和多个辅助分区,所述逻辑队列也对应设置有一个主逻辑队列和多个辅助逻辑队列,分区设置多副本,支持vpc信息并行下发。
41.分区设置多副本,支持vpc信息并行下发,提高吞吐量,消除http同步响应并发低的弊端;分区一般设置有三个,包括一个主分区和两个辅助分区。
42.如图1所示,步骤s4中,根据虚机所属vpc_id和设备id获取hashcode是利用java语言内置的hash函数获得的。
43.如图1所示,步骤s5中,利用步骤s3中逻辑队列数量和步骤s4中hashcode进行取模的公式为:
44.取模的值=(vpc_id和设备id的hashcode)%rocketmq的主题逻辑队列数量。
45.如图1所示,步骤s6中,异步发送包括防火墙配置下发、leaf交换机配置下发、border交换机配置下发。
46.如图1所示,步骤s6中,json报文以log文件的方式持久化到服务器的磁盘,文件需要的存储空间超过一定界限值可拆分为多个小文件。
47.一定的界限值可设置为1g,保证vpc相关设备的配置进行间接的持久化。
48.此外,本技术列举防火墙设备和交换机设备两种json报文样例;
49.防火墙设备报文样例如下:
[0050][0051][0052]
交换机设备样例报文如下:
[0053]
[0054][0055]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1