1、单节点"服务中心"
1.1、配置"服务中心"地址、端口号和应用名称
代码语言:javascript复制#应用名称
spring.application.name=eureka-server
#应用端口号
server.port=8080
#是否从Eureka Server获取注册信息,默认为true
eureka.client.fetch-registry=true
#设置与Eureka Server交互的地址。查询服务和注册服务都需要依赖这个地址。多个地址可使用","分隔${server.port}代表配置的是8080端口
eureka.client.service-url.defaultZone=http://localhost:${server.port}/eureka/
1.2、@EnableEurekaServer标识此服务为Eureka服务
代码语言:javascript复制@SpringBootApplication
@EnableEurekaServer
public class EurekaSpringcouldApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaSpringcouldApplication.class, args);
}
}
1.3、启动Eureka,端口8080
2、实现“服务中心”集群
2.1、概述
1、在实际使用时Eureka Server至少部署两台服务器,实现高可用。
2、两台Eureka Server互相注册。
3、微服务需要连接两台Eureka Server注册,当其中一台Eureka死掉也不会影响服务的注册与发现。
4、微服务会定时向Eureka server发送心跳,报告自己的状态。
5、微服务从注册中心获取服务地址以RESTful方式发起远程调用。
2.2、端口号配置
代码语言:javascript复制server.port=${PORT:8080}
2.3、Eureka服务端的交互地址可配置
代码语言:javascript复制#设置与Eureka Server交互的地址。查询服务和注册服务都需要依赖这个地址。多个地址可使用","分隔${server.port}代表配置的是8080端口
eureka.client.service-url.defaultZone=${EUREKA_SERVER:http://eureka02:8081/eureka/}
2.4、完整配置
代码语言:javascript复制#应用名称
spring.application.name=eureka-server
#应用端口号
server.port=${PORT:8080}
#是否从Eureka Server获取注册信息,默认为true
eureka.client.fetch-registry=true
#设置与Eureka Server交互的地址。查询服务和注册服务都需要依赖这个地址。多个地址可使用","分隔${server.port}代表配置的是8080端口
eureka.client.service-url.defaultZone=${EUREKA_SERVER:http://eureka02:8081/eureka/}
#自我保护是指当服务不再向服务中心上报状态时,服务中心将其删除
#是否开启自我保护,在开发阶段建议关闭自保护模式
eureka.server.enable-self-preservation=false
#服务注册表清理间隔(60*1000单位为毫秒)
eureka.server.eviction-interval-timer-in-ms=60000
eureka.instance.hostname=${EUREKA_DOMAIN:eureka01}
2.5、配置hostname
Eureka 组成高可用,两个Eureka互相向对方注册,这里需要通过域名或主机名访问,这里我们设置两个Eureka服 务的主机名分别为 eureka01、eureka02。
代码语言:javascript复制127.0.0.1 eureka01
127.0.0.1 eureka02
2.6、在IDEA中制作启动脚本
启动1:
启动2:
1.7、运行两个脚本并访问Eureka
分别访问:
http://localhost:8080/
http://localhost:8081/