网关服务gateway注册Consul时报错Consul service ids must not be empty

网关服务gateway启动时,初始化Consul相关配置时报错。

Consul service ids must not be empty, must start with a letter, end with a letter or digit, and have as interior characters only letters, digits, and hyphen: cbda-server-gateway:10.111.236.142:30857

详细的错误信息如下:

网关gateway的 bootstrap.yml如下:

spring:main:allow-bean-definition-overriding: trueapplication:name: cbda-server-gatewaycloud:consul:host: 10.111.236.142port: 8500config:enabled: true #false禁用Consul配置,默认trueformat: YAML    # 表示consul上面文件的格式 有四种 YAML PROPERTIES KEY-VALUE FILESdata-key: data   #表示consul上面的KEY值(或者说文件的名字) 默认是dataprefix: config # 设置配置值的基本文件夹defaultContext: cbda-server-gateway # 设置所有应用程序使用的文件夹名称#profileSeparator # 设置用于使用配置文件在属性源中分隔配置文件名称的分隔符的值# 服务发现配置discovery:# 启用服务发现enabled: true# 启用服务注册register: true# 服务停止时取消注册deregister: true# 表示注册时使用IP而不是hostnameprefer-ip-address: true# 关闭consul健康监测register-health-check: true# 执行监控检查的频率health-check-interval: 30s# 设置健康检查失败多长时间后,取消注册health-check-critical-timeout: 30s# 健康检查的路径health-check-path: /soa_actuator/health# 服务注册标识,格式为:应用名称+服务器IP+端口instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}

分析:

网关服务gateway在初始化Consul的相关配置时,未读取到ip,导致相关配置类初始化失败,就未能初始化instance-id。修改配置如下:

spring:main:allow-bean-definition-overriding: trueapplication:name: cbda-server-gatewaycloud:consul:host: 10.111.236.142port: 8500config:enabled: true #false禁用Consul配置,默认trueformat: YAML    # 表示consul上面文件的格式 有四种 YAML PROPERTIES KEY-VALUE FILESdata-key: data   #表示consul上面的KEY值(或者说文件的名字) 默认是dataprefix: config # 设置配置值的基本文件夹defaultContext: cbda-server-gateway # 设置所有应用程序使用的文件夹名称#profileSeparator # 设置用于使用配置文件在属性源中分隔配置文件名称的分隔符的值# 服务发现配置discovery:# 启用服务发现enabled: true# 启用服务注册register: true# 服务停止时取消注册deregister: true# 表示注册时使用IP而不是hostnameprefer-ip-address: true# 关闭consul健康监测register-health-check: true# 执行监控检查的频率health-check-interval: 30s# 设置健康检查失败多长时间后,取消注册health-check-critical-timeout: 30s# 健康检查的路径health-check-path: /soa_actuator/health# 服务注册标识,格式为:应用名称+服务器IP+端口#instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}instance-id: ${spring.application.name}:${random.value}

最终服务能正常启动。

参考:The Spring Cloud project throws exception when generating document. · Issue #404 · spring-cloud/spring-cloud-consul · GitHub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/488103.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web3的奇迹:数字世界的新篇章

在数字化时代的潮流中,Web3正以其令人振奋的潜力和前景引领着我们进入一个全新的数字时代。作为互联网的下一代,Web3将重新定义我们对数字世界的认知和体验,为我们带来无限的可能性和奇迹。本文将深入探讨Web3的重要性、核心特征以及未来展望…

渗透测试之RCE漏洞

RCE(remote command execute)远程命令执行。应用程序的某些功能需要调用可以执行的系统命令的函数,如果这些函数或者函数的参数被用户控制,就可能通过命令连接符将恶意的命令拼接到函数中,从而执行系统命令。 常见的命…

【实战篇】Redis单线程架构的优势与不足

前言 01 Redis中的多线程02 I/O多线程03 Redis中的多进程问题 04 结论 很多人都遇到过这么一道面试题:Redis是单线程还是多线程?这个问题既简单又复杂。说他简单是因为大多数人都知道Redis是单线程,说复杂是因为这个答案其实并不准确。 难道R…

Linux应用-ElasticSearch安装

ElasticSearch安装部署 简介 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 es)是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。 Elasticsearch简称es&…

Sora-OpenAI 的 Text-to-Video 模型:制作逼真的 60s 视频片段

OpenAI 推出的人工智能功能曾经只存在于科幻小说中。 2022年,Openai 发布了 ChatGPT,展示了先进的语言模型如何实现自然对话。 随后,DALL-E 问世,它利用文字提示生成令人惊叹的合成图像。 现在,他们又推出了 Text-t…

电商+支付双系统项目------项目部署到服务器

我已经把这个项目的所有模块都做好了。那么,现在我们要做的就是将这个项目部署发布了。其实关于部署发布网上有很多的文章都会教,我就不写哪些很具体的步骤了,我就简单的总结一下怎么部署这个项目,让大家对项目部署有一个整体的认…

【JavaEE】_Servlet程序的编写方法

目录 1. 创建项目 2. 引入依赖 3. 创建目录结构 3.1 在main目录下创建一个webapp目录 3.2 在webapp目录下创建一个WEB-INF目录 3.3 在WEB-INF目录下创建一个web.xml文件 3.4 在web.xml中进行代码编写 4. 编写代码 4.1 在java目录下创建类 4.2 打印"hello world&…

Linux:ACL权限,特殊位和隐藏属性

目录 一.什么是ACL 二.操作步骤 ① 添加测试目录、用户、组,并将用户添加到组 ② 修改目录的所有者和所属组 ③ 设定权限 ④ 为临时用户分配权限 ⑤ 验证acl权限 ⑥ 控制组的acl权限 三. 删除ACL权限 一.什么是ACL 访问控制列表 (Access Control List):ACL 通…

Golin 弱口令/漏洞/扫描/等保/基线核查的快速安全检查小工具

下载地址: 链接:https://pan.quark.cn/s/db6afba6de1f 主要功能 主机存活探测、漏洞扫描、子域名扫描、端口扫描、各类服务数据库爆破、poc扫描、xss扫描、webtitle探测、web指纹识别、web敏感信息泄露、web目录浏览、web文件下载、等保安全风险问题风险…

投屏软件Airserver优惠码来了,使用能减10元(有图有真相)

Airserver是一款非常实用的手机投屏到电脑软件。AirServer for Mac是一款能够通过本地网络将音频、照片、视频以及支持AIrPlay功能的第三方App,从 iOS 设备无线传送到 Mac 电脑的屏幕上,把Mac变成一个AirPlay终端的实用工具。 Airserver中文官网地址&…

【深蓝学院】移动机器人运动规划--第6章 模型预测控制(MPC)与运动规划--笔记

0. Outline 1. Reactive Control(反应式控制) 控制学中的 “Reactive Control” 通常指的是一种控制策略,它依赖于系统对特定事件或变化的即时反应,而不是按照预定的计划或策略行动。这种控制往往是基于当前的传感器输入来做出决…

【电路笔记】-RC放电电路

RC放电电路 文章目录 RC放电电路1、概述2、RC放电电路3、RC放电电路示例当电压源从完全充电的 RC 电路中移除时,电容器 C 将通过电阻 R 放电。 1、概述 RC 放电电路利用电阻器-电容器组合的固有 RC 时间常数以指数衰减率对电容器进行放电。 在之前的 RC 充电电路教程中,我们…