SpringCloud学习笔记(4)----Spring Cloud Netflix之Eureka的配置
1. Eureka监控配置
Eureka的客户端需要加入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
而由于服务端本身已经依赖了该依赖,所以不需要再引入。
接下来就是一些配置信息的添加:
# 状态页面自定义访问链接 eureka.instance.status-page-url-path=/info #info 自定义 info.build.name=@project.name@ info.build.description=@project.description@ info.build.groupId=@project.groupId@ info.build.artifact=@project.artifact@ info.build.version=@project.version@
注意:
1. 服务监控依赖于spring-boot-starter-actuator这个jar
2. 注意management.context-path和server..servlet-path的定义
3. 可以直接定义eurek.instance.status-page-url=http://baidu.com,这个优先级高于eurek.instance.status-page-url-path
2. Eureka客户端的常用配置
1. 自定义示例ID
eureka.instance.instanceId=${spring.application.name}:${random.value},
random.value再spring boot中会生成一个随机值,用以确保cloud的中服务instance的唯一。SpringCloud 要求实例ID唯一。
2. 显示ip地址
eureka.instance.prefer-ip-address=true
3. 设置拉取服务注册信息时间 默认60s
eureka.client.registry-fetch-interval-seconds=30
说明:如果要迅速获取服务注册状态,可以缩小该值,比如网关接口启动需要马上调用。
4. 指定续约更新频率,默认是30s
eureka.instance.lease-renewal-interval-in-seconds=15
说明:可以解决Eureka注册服务慢的问题,注意:在生产环境中,最好坚持使用默认值,因为在服务器内部有一些计算,他们会对续约做出假设。
6. 设置过期剔除时间, 默认90s
eureka.instance.lease-expiration-duration-in-seconds=45
说明:表示Eureka Server至上一次收到client的心跳之后,等待下一次心跳的超时时间,如果该值太大了,则可能将流量转发过去的时候,该instance已经不存活了,如果该值设置小了,则instance很可能因为临时网络抖动而被摘除。
该值至少应该大于leaseRenewalIntervalInSeconds。
3. Eureka服务端的配置
1. 指定环境
eureka.environment=dev
2. 指定数据中心
eureka.datacenter=wangx
说明:如果配置Deureka.datacenter=cloud,eureka会知道是在AWS云上
3. 关闭自我保护模式
eureka.server.enable-self-preservation=false
说明:关闭了面板会出现提示。
4. 设置清理无效节点的时间间隔,默认60000,即是60s
eureka.server.eviction-interval-timer-in-ms=30000