代码地址:
https://gitee.com/DanShenGuiZu/learnDemo/tree/master/springboot_admin_learn
一、搭建Eureka注册中心
具体看springCloud有介绍
二、Admin 结合Eureka
- admin-server 会自己拉取 Eureka 上注册的 服务信息,自动完成注册。
- admin-client 端 不需要配置 admin 地址了,一切全部由 admin-server 自己实现。
2.1、Admin Server注册到Eureka注册中心
添加Eureka Client依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
启动类,添加@EnableEurekaClient,让注册中心发现
//eureka 客户端
@EnableEurekaClient
修改配置项
# 应用程序名称
spring:
application:
name: admin-server
# 应用程序端口
server:
port: 8080
# 默认情况下,大多数端点都不通过http公开,我们公开了所有端点。
# 对于生产,您应该仔细选择要公开的端点。
management:
endpoints:
web:
exposure:
include: ["*"]
health:
show-details: always
# eureka客户端配置
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:9091/eureka
instance:
# iP方式显示
ip-address: true
#注册中心显示的实例ID,可以用ip地址加端口来区别
instance-id: ${spring.cloud.client.ip-address}:${server.port}
# 检查健康的actuator端点地址
health-check-url-path: /actuator/health
启动服务,注册中心列表和admin都已经完成注册
2.2、Admin Client注册到Eureka注册中心
添加Eureka Client 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
修改配置文件
# 应用程序名称
spring:
application:
name: admin-client
# 应用程序端口
server:
port: 9090
# 通过注册中心发现,就不需要自己注册了
# boot:
# admin:
# client:
# # admin 的server地址
# url: http://localhost:8080
# instance:
# # 使用IP的方式
# prefer-ip: true
# 默认情况下,大多数端点都不通过http公开,我们公开了所有端点。
# 对于生产,您应该仔细选择要公开的端点。
management:
endpoints:
web:
exposure:
include: ["*"]
endpoint:
health:
show-details: always
# 通过注册中心发现,就不需要自己注册了
# eureka客户端配置
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:9091/eureka
instance:
# iP方式显示
ip-address: true
#注册中心显示的实例ID,可以用ip地址加端口来区别
instance-id: ${spring.cloud.client.ip-address}:${server.port}
# 检查健康的actuator端点地址
health-check-url-path: /actuator/health
启动类
// Eureka 客户端
@EnableEurekaClient
服务启动,完成Eureka和Admin的注册
2.3、springAdmin显示为IP
修改配置
# admin 中已ip显示
hostname: ${spring.cloud.client.ip-address}