System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及计算机,尤其涉及一种消息队列连接的方法、装置、电子设备及存储介质。
技术介绍
1、在openstack的项目中,nova是负责计算资源管理的部分,rabbitmq消息队列是nova中各个nova服务之间通信的消息代理,在实际应用时,各个nova服务在启动时都需要与rabbitmq消息队列进行连接,以保障各个nova服务的正常启动运行。
2、在现有的rabbitmq消息队列连接技术中,当nova服务启动时会通过oslo_messaaging python类库连接rabbitmq消息队列,由于oslo_messaaging python类库本身的代码逻辑缺陷,在nova服务启动时若从nova配置文件中没有获取到url信息将会直接用nova服务所在服务器的本地ip地址连接rabbitmq消息队列,如果rabbitmq消息队列未部署在本地服务器而是部署在其他服务器时将会导致nova服务与rabbitmq消息队列无法连接的问题,进而导致nova服务启动异常无法正常运行的现象。
3、由上可知,现有技术中的rabbitmq消息队列连接方法存在无法连接的技术问题。
技术实现思路
1、鉴于此,为了解决现有技术中的rabbitmq消息队列连接方法存在无法连接的技术问题,本申请实施例提供一种消息队列连接的方法、装置、电子设备及存储介质。
2、第一方面,本申请实施例提供一种消息队列连接的方法,该方法包括:
3、在nova服务启动时,从nova
4、判断所述配置信息中的url信息和连接信息是否为空;其中,所述连接信息包括ip地址、端口号和验证信息;
5、在判断出所述url信息为空且所述连接信息不为空的情况下,将所述ip地址和所述端口号拼装成可访问的url链接;
6、基于所述url链接和所述验证信息将所述nova服务与所述rabbitmq消息队列进行连接。
7、可选地,如前述的方法,所述基于所述url链接和所述验证信息将所述nova服务与所述rabbitmq消息队列进行连接,包括:
8、基于所述url链接获取到所述rabbitmq消息队列的连接界面;
9、将所述验证信息输入至所述连接界面上,以使所述rabbitmq消息队列的服务器接收所述验证信息,对所述验证信息进行验证,在所述验证信息验证成功的情况下,将所述nova服务与所述rabbitmq消息队列进行连接。
10、可选地,如前述的方法,该方法还包括:
11、在判断出所述url信息不为空且所述连接信息不为空的情况下,判断所述url信息与所述连接信息是否一致;
12、在判断出所述url信息与所述连接信息一致的情况下,基于所述url信息将所述nova服务与所述rabbitmq消息队列进行连接;
13、在判断出所述url信息与所述连接信息不一致的情况下,生成第一连接失败信息。
14、可选地,如前述的方法,所述url信息中包括目标ip地址、目标端口号和目标验证信息;
15、所述基于所述url信息将所述nova服务与所述rabbitmq消息队列进行连接,包括:
16、从所述url信息中获取目标验证信息;
17、基于所述url中的目标ip地址和目标端口号构成的目标url链接获取到所述rabbitmq消息队列的连接界面;
18、将所述目标验证信息输入至所述连接界面上,以使所述rabbitmq消息队列的服务器接收所述目标验证信息,对所述目标验证信息进行验证,在所述目标验证信息验证成功的情况下,将所述nova服务与所述rabbitmq消息队列进行连接。
19、可选地,如前述的方法,该方法还包括:
20、在判断出所述url信息为空且所述连接信息为空的情况下,生成第二连接失败信息。
21、可选地,如前述的方法,该方法还包括:
22、在判断出所述url信息不为空且所述连接信息为空的情况下,执行基于所述url信息将所述nova服务与所述rabbitmq消息队列进行连接的步骤。
23、可选地,如前述的方法,所述连接信息为空为所述ip地址、所述端口号和所述验证信息中的至少一个为空。
24、第二方面,本申请实施例提供一种消息队列连接的装置,该装置包括:
25、读取模块,用于在nova服务启动时,从nova配置文件中读取用于连接rabbitmq消息队列的配置信息;
26、判断模块,用于判断所述配置信息中的url信息和连接信息是否为空;其中,所述连接信息包括ip地址、端口号和验证信息;
27、拼装模块,用于在判断出所述url信息为空且所述连接信息不为空的情况下,将所述ip地址和所述端口号拼装成可访问的url链接;
28、连接模块,用于基于所述url链接和所述验证信息将所述nova服务与所述rabbitmq消息队列进行连接。
29、第三方面,本申请实施例提供一种电子设备,其中,包括:处理器和存储器,处理器用于执行存储器中存储的消息队列连接的程序,以实现上述的消息队列连接的方法。
30、第四方面,本申请实施例提供一种存储介质,其中,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述的消息队列连接的方法。
31、在本专利技术实施例中,采用了在nova服务启动时,从nova配置文件中读取用于连接rabbitmq消息队列的配置信息;判断配置信息中的url信息和连接信息是否为空;其中,连接信息包括ip地址、端口号和验证信息;在判断出url信息为空且连接信息不为空的情况下,将ip地址和端口号拼装成可访问的url链接;基于url链接和验证信息将nova服务与rabbitmq消息队列进行连接。上述技术方案,能够在nova服务启动无法获取url信息进行rabbitmq消息队列连接的情况下,使用nova配置文件中连接信息包括的ip地址、端口号和验证信息实现与rabbitmq消息队列的连接,相对于现有技术中,在无法获取url信息只能通过本地ip地址进行rabbitmq消息队列连接的方法,有效克服了现有技术中rabbitmq消息队列未部署在本地服务器,无法通过本地ip地址进行连接的问题。
本文档来自技高网...【技术保护点】
1.一种消息队列连接的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述URL链接和所述验证信息将所述Nova服务与所述Rabbitmq消息队列进行连接,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述URL信息中包括目标IP地址、目标端口号和目标验证信息;
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
7.根据权利要求5或6所述的方法,其特征在于,所述连接信息为空为所述IP地址、所述端口号和所述验证信息中的至少一个为空。
8.一种消息队列连接的装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的消息队列连接的程序,以实现权利要求1~7中任一项所述的消息队列连接的方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多
...【技术特征摘要】
1.一种消息队列连接的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述url链接和所述验证信息将所述nova服务与所述rabbitmq消息队列进行连接,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述url信息中包括目标ip地址、目标端口号和目标验证信息;
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
<...【专利技术属性】
技术研发人员:薛治芳,
申请(专利权)人:北京金山云网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。