Spring cloud 配置文件总结

(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

猜你喜欢

转载自blog.csdn.net/lixiang987654321/article/details/81558820