menbbo

导航

 

  Eureka作为SpringCloud的常用组件,主要负责服务的注册、发现、负载、熔断、降级等。SpringCloud中,任何一个服务都不能直接调用,而是通过注册中心Eureka来调用。Eureka采用了C/S的架构模式,微服务通过Eureka的客户端向Eureka服务器注册服务,并维持心跳。Eureka的组成包括了Eureka Client和Eureka Server。

 

   下面通过案例描述Eureka的使用方式。

1.新建SpringBoot项目命名为springcloudeureka,并导入相关依赖。

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot</artifactId>
        </dependency>
    </dependencies>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
<!-- springcloud依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

2.该项目下新建module,命名为01eureka,pom文件中导入相关依赖,该模块负责Eureka Server。

  <dependencies>
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
      </dependency>
  </dependencies>

接下来在resource文件夹下创建application.yml配置文件,设置eureka server端口,服务注册地址等。

server:
  port: 8761
eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

创建SpringbootEurekaApplication启动类,并添加@EnableEureka注解。

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

启动后浏览器中输入地址:http://localhost:8761/即可访问到Eureka Server。

 

 2.新建module命名为02client,添加eureka client依赖。

  <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
</dependencies>

创建application.yml配置文件,该服务命名为client。

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka
spring:
  application:
    name: client

接下来创建启动类,加上@EnableEurekaClient注解。

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

启动该模块,通过访问eureka server即可看到已注册服务。

 

posted on 2020-07-26 16:27  menbbo  阅读(518)  评论(0编辑  收藏  举报