eureka单机搭建
搭建eureka server
创建一个springboot项目
1.pom中添加依赖
<!--端点监控工具依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--eureka server依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2.启动类中添加@EnableEurekaServer注解
在配置文件中配置基本项
server:
port: 9001
eureka:
## 配置实例名称
instance:
hostname: dev
client:
## 检索服务 是否从Eureka Server获取注册信息,默认为true
fetch-registry: false
## 是否注册到eureka上
register-with-eureka: false
## 定义service-url, 默认值为 http://localhost:8761/eureka/
service-url:
defaultZone: http://localhost:${server.port}/eureka/
server:
## 当eureka启动时,不能从集群节点中获取到instance注册信息,应该等待的时间
wait-time-in-ms-when-sync-empty: 0
## 是否开启自我保护机制
enable-self-preservation: true
### eureka多长时间更新一次数据
peer-eureka-nodes-update-interval-ms: 100000
启动项目,访问端口:
http://localhost:9001/
可以看到已经启动完毕
搭建eureka client
1.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
启动类加上注解@EnableEurekaClient
配置文件中配置基本项
server:
port: 9000
spring:
application:
name: eureka-client
eureka:
client:
service-url:
## 注册地址
defaultZone: http://localhost:9001/eureka/
访问之前搭建的注册中心
可以看到,我们的 eureka-client 注册上去了
在eurekaClient端创建一个api接口,试试能否正常使用
@RestController
public class HelloEurekaDemo {
@Value("${server.port}")
private String port;
@GetMapping("/hello")
public String helloEureka (){
return "hello Eureka ==> port: " + port;
}
}
访问http://localhost:9000/hello,浏览器现实如下信息:
至此单机的 eureka-client搭建完毕,已经可以初步使用了
eureka集群搭建
1. eureka-server集群基本配置
spring:
profiles:
active: dev2
---
spring:
application:
###当前服务名
name: eureka-peer
profiles: dev
server:
##端口号
port: 10000
---
spring:
profiles: dev1
application:
name: eureka-peer2
server:
port: 10001
---
spring:
profiles: dev2
application:
name: eureka-peer3
server:
port: 10002
---
eureka:
instance:
hostname: dev1
client:
##是否从Eureka Server获取注册信息,默认为true
fetch-registry: false
##是否将自己注册到eureka
register-with-eureka: false
##客户端默认去这个地址找注册中心
service-url:
defaultZone: http://localhost:10000/eureka/,http://localhost:10001/eureka/,http://localhost:10002/eureka/
server:
### 当eureka启动时,不能从集群节点中获取到instance注册信息,应该等多久
wait-time-in-ms-when-sync-empty: 0
enable-self-preservation: true
###eureka多长时间更新一次数据
peer-eureka-nodes-update-interval-ms: 100000
分别启动三个集群服务
启动成功后,访问3个端口:
http://localhost:10000/
http://localhost:10001/
http://localhost:10002/
都可以正常访问
2. eureka-client集群基本配置
只需要将多个注册的地址按,分隔即可
...
eureka:
client:
service-url:
## 集群注册地址 用,号隔开
defaultZone: http://localhost:10000/eureka/,http://localhost:10001/eureka/,http://localhost:10002/eureka/
访问api接口,正常
关闭2个server服务
依然能正常访问
代码链接:
码云.