微服务笔记
集成eureka过程
eureka是阿里12年开源的注册中心服务,目前2版本已经停止,1版本还可以使用且在市场处于大规模应用状态。
客户端
pom
pom文件添加依赖并且设置springCloud版本限定。
<properties>
<spring-cloud.version>Hoxton.SR6</spring-cloud.version>
</properties>
<dependencies>
<!--引入 eureka server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
<!--全局管理springcloud版本,并不会引入具体依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
启动类
设置server端 @EnableEurekaServer
配置文件
server.port=8761
spring.application.name=eurekaserver8761
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
#是否将自己注册到Eureka Server上,默认为true
eureka.client.register-with-eureka=true
#是否从Eureka Server上获取注册信息,默认为true
eureka.client.fetch-registry=false
#关闭自我保护
eureka.server.enable-self-preservation=true
#超时3s自动清除 默认90s
eureka.server.eviction-interval-timer-in-ms=3000
注意: 第一次启动的时候服务回找自己注册,这个时候eureka还没有启动起来,所以会报错,解决办法 eureka.client.fetch-registry=false,这个时候eureka不会立即注册。然后等服务起来之后在开始注册。
服务端 等待注册的服务
pom
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR6</spring-cloud.version>
</properties>
<dependencies>
<!--引入eureka client-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
properties
server.port=8888
spring.application.name=eurekaclient8888
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
启动类
使用 @EnableEurekaClient 注解标识服务客户端