组团学

用Eureka实现"服务中心"

阅读 (454410)

1、单节点"服务中心"

1.1、配置"服务中心"地址、端口号和应用名称

#应用名称
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服务

@SpringBootApplication @EnableEurekaServer public class EurekaSpringcouldApplication { public static void main(String[] args) { SpringApplication.run(EurekaSpringcouldApplication.class, args); } }

1.3、启动Eureka,端口8080

1588820848613.png

2、实现“服务中心”集群

2.1、概述

1588819641548.png

1、在实际使用时Eureka Server至少部署两台服务器,实现高可用。

2、两台Eureka Server互相注册。

3、微服务需要连接两台Eureka Server注册,当其中一台Eureka死掉也不会影响服务的注册与发现。

4、微服务会定时向Eureka server发送心跳,报告自己的状态。

5、微服务从注册中心获取服务地址以RESTful方式发起远程调用。

2.2、端口号配置

server.port=${PORT:8080}

2.3、Eureka服务端的交互地址可配置

#设置与Eureka Server交互的地址。查询服务和注册服务都需要依赖这个地址。多个地址可使用","分隔${server.port}代表配置的是8080端口
eureka.client.service-url.defaultZone=${EUREKA_SERVER:http://eureka02:8081/eureka/}

2.4、完整配置

#应用名称
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。

127.0.0.1 eureka01
127.0.0.1 eureka02

2.6、在IDEA中制作启动脚本

启动1:

1588821466560.png

启动2:

1588821513107.png

1.7、运行两个脚本并访问Eureka

分别访问:

http://localhost:8080/

http://localhost:8081/

1588821710627.png

1588821730761.png

需要 登录 才可以提问哦