(1)application.yml eureka服务端:
# 第一个高可用注册中心
server:
# 指定服务端口
port: 8761
spring:
# 安全认证的配置--切记,此节点在spring节点之下,否则无法使用用户名密码登录
security:
basic:
enabled: true
user:
# 用户名
name: admin
# 密码
password: dw123456
# 角色
role: SUPERUSER
eureka:
instance:
hostname: localhost
client:
# 是否将eureka自身作为应用注册到eureka注册中心【这里设置为false,因为eureka服务和client不可能自己监听两套端口,serviceUrl可以天其他eureka服务地址,实现高可用】
registerWithEureka: false
# 为true时,可以启动,但报异常:Cannot execute request on any known server
fetchRegistry: false
serviceUrl:
# 引用对应值,通过配置其他可用的serviceUrl来实现相互注册【高可用配置】,这里可以实现本服务器注册到其他服务器去,实现服务器互为注册功能,达到两个或多个注册中心【即整个系统】的服务提供者信息共享
defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:${server.port}/eureka/
server:
# 关闭自我保护--用于服务端
enable-self-preservation: false
# 服务器定时清理列表(毫秒)-eureka服务器默认30秒会刷新服务列表,将已经关闭的服务清除掉
eviction-interval-timer-in-ms: 5000
# 监控系统配置
endpoints:
shutdown:
#Spring Boot Actuator的shutdown endpoint默认是关闭的
enabled: true
#自定义api地址:host:port/shutdown就可以实现优雅停机
path: /shutdown
#使用密码验证-项目中添加的有Spring Security,所有通过HTTP暴露的敏感端点都会受到保护
#默认情况下会使用基本认证(basic authentication,用户名为user,密码为应用启动时在控制台打印的密码)
sensitive: true
(2) application.yml客户端配置
# 多环境通用部分[各个环境可以覆盖通用字段]
spring:
application:
# 通用名字,其他环境可以覆盖:为你的应用起个名字,该名字将注册到eureka注册中心
name: eureka-client
# 安全认证的配置--切记,此节点在spring节点之下,否则无法使用用户名密码登录
security:
# eureka服务端启用安全验证后,服务端必须【添加一个安全认证类】,开启httpbasic方式登录【因为高版本已经启用这种方式】
user:
# 用户名
name: admin
# 密码
password: dw123456
profiles:
active: dev
# 控制台日志打印
logging:
level:
com.netflix: DEBUG
---
# 开发环境
spring:
profiles: dev
application:
# 开发环境名称:为你的应用起个名字,该名字将注册到eureka注册中心
name: eureka-client-dev
server:
# 服务提供监听端口[eureka客户端],注意改端口不能与本机服务器端口冲突
port: 8762
eureka:
client:
#从eureka服务器获取注册表信息的频率(以秒为单位)-用于客户端
registry-fetch-interval-seconds: 10
# 是否将eureka自身作为应用注册到eureka注册中心,默认为true
registerWithEureka: true
service-url:
# 这里可以填写所有的eureka服务器地址并以','分离,当前面不能注册时候,自动选择后面的进行注册,排除单点故障问题
defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@localhost:8761/eureka/
instance:
#配置与服务器心跳间隔-用于客户端
lease-renewal-interval-in-seconds: 30
#配置服务超时时间(此值将设置为至少高于leaseRenewalIntervalInSeconds中指定的值)-用于客户端
#当服务关闭超过,这个时间时,eureka服务器会清除掉这个服务,配置此项要关闭服务器的自我保护模式-用于客户端
lease-expiration-duration-in-seconds: 60
#客户端自定义数据元数据-给其他eureka客户端调用--用户客户端
metadata-map:
#自定义元数据serverid
serverid: client_8762
---
# 测试环境
spring:
profiles: test
application:
# 测试环境名称:为你的应用起个名字,该名字将注册到eureka注册中心
name: eureka-client-test
server:
# 服务提供监听端口[eureka客户端],注意改端口不能与本机服务器端口冲突
port: 8763
eureka:
client:
#从eureka服务器获取注册表信息的频率(以秒为单位)-用于客户端
registry-fetch-interval-seconds: 10
# 是否将eureka自身作为应用注册到eureka注册中心,默认为true
registerWithEureka: true
service-url:
# 这里可以填写所有的eureka服务器地址并以','分离,当前面不能注册时候,自动选择后面的进行注册,排除单点故障问题
defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@localhost:8761/eureka/
# defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@localhost:8761/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@localhost:8761/eureka/
instance:
#配置与服务器心跳间隔-用于客户端
lease-renewal-interval-in-seconds: 30
#配置服务超时时间(此值将设置为至少高于leaseRenewalIntervalInSeconds中指定的值)-用于客户端
#当服务关闭超过,这个时间时,eureka服务器会清除掉这个服务,配置此项要关闭服务器的自我保护模式-用于客户端
lease-expiration-duration-in-seconds: 60
#客户端自定义数据元数据-给其他eureka客户端调用--用户客户端
metadata-map:
#自定义元数据serverid
serverid: client_8763
---
# 生产环境
spring:
profiles: prod
application:
# 生产环境名称:为你的应用起个名字,该名字将注册到eureka注册中心
name: eureka-client-prod
server:
# 服务提供监听端口[eureka客户端],注意改端口不能与本机服务器端口冲突
port: 8764
eureka:
client:
#从eureka服务器获取注册表信息的频率(以秒为单位)-用于客户端
registry-fetch-interval-seconds: 10
# 是否将eureka自身作为应用注册到eureka注册中心,默认为true
registerWithEureka: true
service-url:
# 这里可以填写所有的eureka服务器地址并以','分离,当前面不能注册时候,自动选择后面的进行注册,排除单点故障问题
defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@localhost:8761/eureka/
instance:
#配置与服务器心跳间隔-用于客户端
lease-renewal-interval-in-seconds: 30
#配置服务超时时间(此值将设置为至少高于leaseRenewalIntervalInSeconds中指定的值)-用于客户端
#当服务关闭超过,这个时间时,eureka服务器会清除掉这个服务,配置此项要关闭服务器的自我保护模式-用于客户端
lease-expiration-duration-in-seconds: 60
#客户端自定义数据元数据-给其他eureka客户端调用--用户客户端
metadata-map:
#自定义元数据serverid
serverid: client_8764
(3)具体配置项说明
server:
# 指定服务端口
port: 8761
# 安全认证的配置
security:
basic:
enabled: true
user:
# 用户名
name: admin
# 密码
password: dw123456
# 角色
role: SUPERUSER
server:
port: 8761
spring:
profiles: eureka-colony1
eureka:
instance:
hostname: eureka-colony1
client:
registerWithEureka: false
fetchRegistry: false
# 注意,这里可以实现本服务器注册到其他服务器去,实现服务器互为注册功能,实现服务器整个系统服务提供信息共享
serviceUrl:
defaultZone: http://admin:[email protected]:8762/eureka/
server:
# 关闭自我保护
enable-self-preservation: false
# 清理服务器
eviction-interval-timer-in-ms: 60000
# 日志输出
logging:
file: log-tms-eureka1/logger.log
level:
org.springframework.web: DEBUG
# 监控系统配置
endpoints:
restart:
enabled: true
shutdown:
enabled: true
health:
sensitive: false
# 关闭项目的安全验证
security:
user:
name: admin
password: admin
role: SUPERUSER
# 配置关闭程序的路径
management:
context-path: /tms-eureka
security:
roles: SUPERUSER #角色
port: 8761 # 指定端口
address: 192.168.1.108 # 指定地址
---
server:
port: 8762
spring:
profiles: eureka-colony2
eureka:
instance:
hostname: eureka-colony2
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://admin:[email protected]:8761/eureka/
server:
# 关闭自我保护
enable-self-preservation: false
# 清理服务器
eviction-interval-timer-in-ms: 60000
# 日志输出
logging:
file: log-tms-eureka2/logger.log
level:
org.springframework.web: DEBUG
# 关闭程序
endpoints:
shutdown:
enabled: true
sensitive: true
# 关闭项目的安全验证
security:
user:
name: admin
password: admin
role: SUPERUSER
# 自定义管理服务器的上下文路径
management:
context-path: /tms-eureka
security:
enabled: false #使用启用安全管理策略
roles: SUPERUSER #角色
#自定义服务器的服务器的ip和地址
port: 8762 # 指定端口
address: 192.168.1.108 # 指定地址
端点
执行器端点允许你监控应用及与应用进行交互。Spring Boot包含很多内置的端点,你也可以添加自己的。例如,health端点提供了应用的基本健康信息。
端点暴露的方式取决于你采用的技术类型。大部分应用选择HTTP监控,端点的ID映射到一个URL。例如,默认情况下,health端点将被映射到/health。
下面的端点都是可用的:
ID 描述 敏感(Sensitive)
autoconfig 显示一个auto-configuration的报告,该报告展示所有auto-configuration候选者及它们被应用或未被应用的原因 true
beans 显示一个应用中所有Spring Beans的完整列表 true
configprops 显示一个所有@ConfigurationProperties的整理列表 true
dump 执行一个线程转储 true
env 暴露来自Spring ConfigurableEnvironment的属性 true
health 展示应用的健康信息(当使用一个未认证连接访问时显示一个简单的’status’,使用认证连接访问则显示全部信息详情) false
info 显示任意的应用信息 false
metrics 展示当前应用的’指标’信息 true
mappings 显示一个所有@RequestMapping路径的整理列表 true
shutdown 允许应用以优雅的方式关闭(默认情况下不启用) true
trace 显示trace信息(默认为最新的一些HTTP请求) true
实例:
(1)在application.properties开启shutdown endpoint(默认关闭)
#开启shutdown
endpoints.shutdown.enabled=true
#自定义api地址
endpoints.shutdown.path=/shutdown
(2)对/admin目录开启密码验证。
endpoints.shutdown.sensitive=true
security.basic.enabled=true
security.basic.path=/admin
security.user.name=admin
security.user.password=test
management.security.roles=SUPERUSER
management.port=19888
management.context-path=/admin
management.security.enabled=true
(4)客户端配置说明
在项目中配置多套环境的配置方法。
因为现在一个项目有好多环境,开发环境,测试环境,准生产环境,生产环境,每个环境的参数不同,所以我们就可以把每个环境的参数配置到yml文件中,这样在想用哪个环境的时候只需要在主配置文件中将用的配置文件写上就行如下:
spring:
profiles:
active: prod
这行配置在application.yml 文件中,意思是当前起作用的配置文件是application_prod.yml,其他的配置文件命名为 application_dev.yml,application_bat.yml等
项目启动的时候也可以设置 Java -jar xxxxxx.jar spring.profiles.actiove=prod 也可以这样启动设置配置文件,但是这只是用于开发和测试。
【客户端配置示例如下】
# 多环境通用部分[各个环境可以覆盖通用字段]
spring:
application:
# 通用名字,其他环境可以覆盖:为你的应用起个名字,该名字将注册到eureka注册中心
name: eureka-client
# 安全认证的配置--切记,此节点在spring节点之下,否则无法使用用户名密码登录
security:
# eureka服务端启用安全验证后,服务端必须【添加一个安全认证类】,开启httpbasic方式登录【因为高版本已经启用这种方式】
user:
# 用户名
name: admin
# 密码
password: dw123456
profiles:
active: dev
---
# 开发环境
spring:
profiles: dev
application:
# 开发环境名称:为你的应用起个名字,该名字将注册到eureka注册中心
name: eureka-client-dev
server:
# 服务提供监听端口[eureka客户端],注意改端口不能与本机服务器端口冲突
port: 8762
eureka:
client:
# 是否将eureka自身作为应用注册到eureka注册中心,默认为true
registerWithEureka: true
service-url:
# 这里可以填写所有的eureka服务器地址并以','分离,当前面不能注册时候,自动选择后面的进行注册,排除单点故障问题
defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@localhost:8761/eureka/
instance:
#配置与服务器心跳间隔-用于客户端
lease-renewal-interval-in-seconds: 30
#配置服务超时时间(此值将设置为至少高于leaseRenewalIntervalInSeconds中指定的值)-用于客户端
#当服务关闭超过,这个时间时,eureka服务器会清除掉这个服务,配置此项要关闭服务器的自我保护模式-用于客户端
lease-expiration-duration-in-seconds: 60
---
# 测试环境
spring:
profiles: test
application:
# 测试环境名称:为你的应用起个名字,该名字将注册到eureka注册中心
name: eureka-client-test
server:
# 服务提供监听端口[eureka客户端],注意改端口不能与本机服务器端口冲突
port: 8763
eureka:
client:
# 是否将eureka自身作为应用注册到eureka注册中心,默认为true
registerWithEureka: true
service-url:
# 这里可以填写所有的eureka服务器地址并以','分离,当前面不能注册时候,自动选择后面的进行注册,排除单点故障问题
defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@localhost:8761/eureka/
instance:
#配置与服务器心跳间隔-用于客户端
lease-renewal-interval-in-seconds: 30
#配置服务超时时间(此值将设置为至少高于leaseRenewalIntervalInSeconds中指定的值)-用于客户端
#当服务关闭超过,这个时间时,eureka服务器会清除掉这个服务,配置此项要关闭服务器的自我保护模式-用于客户端
lease-expiration-duration-in-seconds: 60
---
# 生产环境
spring:
profiles: prod
application:
# 生产环境名称:为你的应用起个名字,该名字将注册到eureka注册中心
name: eureka-client-prod
server:
# 服务提供监听端口[eureka客户端],注意改端口不能与本机服务器端口冲突
port: 8764
eureka:
client:
# 是否将eureka自身作为应用注册到eureka注册中心,默认为true
registerWithEureka: true
service-url:
# 这里可以填写所有的eureka服务器地址并以','分离,当前面不能注册时候,自动选择后面的进行注册,排除单点故障问题
defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@localhost:8761/eureka/
instance:
#配置与服务器心跳间隔-用于客户端
lease-renewal-interval-in-seconds: 30
#配置服务超时时间(此值将设置为至少高于leaseRenewalIntervalInSeconds中指定的值)-用于客户端
#当服务关闭超过,这个时间时,eureka服务器会清除掉这个服务,配置此项要关闭服务器的自我保护模式-用于客户端
lease-expiration-duration-in-seconds: 60