微服务-springcloud-eureka

90 阅读1分钟

微服务笔记

集成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 注解标识服务客户端