Java分布式天气系统(2)
2019-07-02 本文已影响0人
谁家的猪
Spring Cloud Eureka
一、Eureka Client
1. 添加Eureka Client依赖
eureka client的group ID为org.springframework.cloud,artifact ID为spring-cloud-starter-netflix-eureka-client
例如:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2. 启用Eureka Client
- 添加注解 @EnableEurekaClient/@EnableDiscoveryClient (不加也可以正常运行)
- 配置application.yml文件
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
Tips:
@EnableEurekaClient和@EnableDiscoveryClient的区别:
@EnableDiscoveryClient该注解可以被其他注册中心扫描,然而@EnableEurekaClient只能被Eureka扫描
二、Eureka Server
1. 添加Eureka Server依赖
eureka client的group ID为org.springframework.cloud,artifact ID为spring-cloud-starter-netflix-eureka-server
例如:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
2. 启用Eureka Server
- 添加注解 @EnableEurekaServer
- 配置application.yml文件
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
register-with-eureka: false
Eureka高可用
启用三个Eureka Server服务,互相注册到对方
例如:
---
spring:
application:
name: eureka
profiles: server1
server:
port: 8001
eureka:
instance:
hostname: server1
prefer-ip-address: false
client:
service-url:
defaultZone: http://server2:8002/eureka/,http://server3:8003/eureka/
---
spring:
application:
name: eureka
profiles: server2
server:
port: 8002
eureka:
instance:
hostname: server2
prefer-ip-address: false
client:
service-url:
defaultZone: http://server1:8001/eureka/,http://server3:8003/eureka/
---
spring:
application:
name: eureka
profiles: server3
server:
port: 8003
eureka:
instance:
hostname: server3
prefer-ip-address: false
client:
service-url:
defaultZone: http://server1:8001/eureka/,http://server2:8002/eureka/
Tips:
server1、server2、server3分别对应三台主机,同一台机器测试时,需要修改本地host文件
127.0.0.1 server1
127.0.0.1 server2
127.0.0.1 server3