服务注册中心Consul安装与配置(windows)
服务注册中心Consul安装与配置(windows)Consul和Eureka都是基于CP(网上很多错误的将Consul说成CA),且Consul还支持key-value存储可作为分布式配置中心,目前Eureka2.x停止维护,故博主决定采用Consul作为项目的服务注册中心1. Consul安装官方下载地址:https://www.consul.io/downloads.html百度网盘...
服务注册中心Consul安装与配置(windows)
Consul和Eureka都是基于CP(网上很多错误的将Consul说成CA),且Consul还支持key-value存储可作为分布式配置中心,目前Eureka2.x停止维护,故博主决定采用Consul作为项目的服务注册中心
1. Consul安装
官方下载地址:https://www.consul.io/downloads.html
百度网盘地址:https://pan.baidu.com/s/1lJ45QXentPwn_qSXOhBpiw 提取码:pvxd
下载zip文件解压后得到consul.exe的文件
最后我们启用cmd命令窗口,定位到consul.exe所在路径,以开发方式进行启动(如需外网访问ip配成外网ip即可):
start [服务名] consul agent -dev -client [本地ip] -ui
之后就可以通过我们刚刚启动设置的ip进行访问(端口默认为8500)
2. 项目配置
接下来进行我们项目的配置,在项目resources目录下新建bootstrap.yml文件,配置好后我们就可以将Consul当服务注册中心使用了
spring:
application:
# 应用名称
name: blog-user
# 引用环境配置,多个间用逗号分隔
profiles:
active: dev
cloud:
consul:
host: 192.168.28.254
port: 8500
# 服务注册&发现
discovery:
# 服务发现是否开启(默认true)
enabled: true
# 服务注册是否开启(默认true)
register: true
# 实例ID唯 一
instance-id: ${spring.application.name}:${server.port:8080}:${random.value}
# 指定服务的名称
service-name: ${spring.application.name}
# 在注册时使用IP
prefer-ip-address: true
# HTTP健康检查(默认10秒)
health-check-interval: 5s
# 超过N秒健康检查不过,从consul中删除
health-check-critical-timeout: 5s
# 只查询有效的记录
query-passing: true
# 分布式配置中心
config:
# 指定consul配置的文件夹前缀
prefix: config
# 指定consul配置的配置文件名
data-key: data
# 指定consul配置的配置文件格式
format: YAML
# 配置文件父路径,所有项目共用的配置 ${..config.prefix}/${..config.default-context}/${..config.data-key}
default-context: blog
# 快速失败,false:将导致配置模块记录一个警告而不是抛出异常;这将允许应用程序继续正常启动
fail-fast: true
#healthCheckPath: /health
Consul还可以作为项目的分布式配置中心,在上面的bootstrap.yml中我们配置了以下四个参数:
应用名称(spring.application.name):blog-user,
环境配置(spring.application.profiles.active):dev,
配置的文件夹前缀(spring.cloud.consul.config.prefix):config,
配置文件名(spring.cloud.consul.config.data-key):data
此时我们对应的Consul上的配置文件路径则为:/config/blog-user,dev/data。点击Cousul的Key/Value菜单,添加此路径配置,SpringBoot的application.xml中的配置可以放到此路径中,此时我们用Consul作为分布式配置中心也完成了。
更多推荐
所有评论(0)