1 Eureka
1.1 Eureka 服务注册中心
怎么完成服务注册中心的搭建
依赖引入
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
添加注解
@EnableEurekaServer
application.properties配置
spring.application.name=eureka-server
server.port=8761
#不向注册中心注册自己
eureka.client.register-with-eureka=false
#维护服务实例,不检索服务
eureka.client.fetch-registry=false
访问
http://localhost:8761/
1.2 Eureka 服务客户端
怎么注册客户端到Eureka注册中心
依赖引入
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
添加注解
@EnableDiscoveryClient
application.properties配置
spring.application.name=eureka-client-user-service
server.port=8083
eureka.client.serviceUrl.defaultZone=http://hello:123456@localhost:8761/eureka/
eureka.instance.preferIpAddress=true
eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
1.3 Eureka高可用
1)为什么要搭建高可用Eureka
解决某个Eureka挂掉后,保证仍然可以使用
2)如何配置高可用
以两个Eureka实例为例
master
application-master.properties配置
server.port=8761
eureka.client.serviceUrl.defaultZone=http://hello:123456@localhost:8762/eureka/
slaveone
application-slaveone.properties配置
server.port=8762
eureka.client.serviceUrl.defaultZone=http://hello:123456@localhost:8761/eureka/
3)测试
启动两个实例,再启动eureka-client-user-service和eureka-client-article-service
Eureka 8761
Eureka 8762
停止Eureka 8761,访问接口http://localhost:8082/article/callHello2