Spring Cloud微学习(一)Eureka初探——基本搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ErErFei/article/details/79062435

引言:Spring Cloud Eureka [jʊ’ri:kə] [美式读音:有瑞哥] 是 Spring Cloud Netflix 微服务套件中的一部分, 它基于 Netflix Eureka 做了二次封装, 主要负责完成微服务架构中的服务治理功能。 Spring Cloud 通过为Eureka 增加了 Spring Boot 风格的自动化配置,我们只需通过简单引入依赖和注解配置就能让 Spring Boot 构建的微服务应用轻松地与 Eureka 服务治理体系进行整合。——《Spring Cloud微服务实战》


Eureka包含服务端和客户端组件,服务端即服务注册中心,客户端处理服务的注册和发现。其它内容这里不做过多的详细介绍

Eureka服务端搭建

Spring Boot在线工具创建一个基础Spring Boot项目EurekaApplication,在pom.xml中增加eureka-server的相关配置。由于版本不断更新,可能配置有差别,所以最好参考官方文档

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

在EurekaApplication类中增加配置@EnableEurekaServer

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

在application.yml中增加相关配置(使用application.properties配置也可以)

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

运行启动项目,看到下面的LOG表明Eureka服务端启动成功

2018-01-15 11:27:52.153  INFO 3148 --- [           main] c.n.e.EurekaDiscoveryClientConfiguration : Registering application eureka-server with eureka with status UP
... ...
2018-01-15 11:27:52.506  INFO 3148 --- [           main] com.centerm.eureka.EurekaApplication     : Started EurekaApplication in 9.101 seconds (JVM running for 10.305)

Eureka客户端搭建

Spring Boot在线工具创建一个基础Spring Boot项目MeetingSpringCloud,在pom.xml中增加eureka的相关配置。由于版本不断更新,可能配置有差别,所以最好参考官方文档

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
    ... ...
</dependencies>

在MeetSpringCloudApplication类中增加配置@EnableDiscoveryClient

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

com.centerm.controller包下新建一个类HelloController.java

@RestController
@RequestMapping("")
public class HelloController{
    @GetMapping("getIndex")
    public String helloCenterm() {
        return "Hello Centerm";
    }
}

在application.yml中增加相关配置(使用application.properties配置也可以)

server:
  port: 8081
spring:
  application:
    name: hello-service
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

运行启动项目,看到下面的LOG表明Eureka客户端注册成功

2018-01-15 11:35:35.018  INFO 10140 --- [           main] com.netflix.discovery.DiscoveryClient    : Getting all instance registry info from the eureka server
2018-01-15 11:35:35.560  INFO 10140 --- [           main] com.netflix.discovery.DiscoveryClient    : The response status is 200
... ...
2018-01-15 11:35:36.034  INFO 10140 --- [           main] com.centerm.MeetSpringCloudApplication   : Started MeetSpringCloudApplication in 7.301 seconds (JVM running for 8.211)

查看注册信息

在浏览器中输入http://localhost:8761 查看Eureka信息面板服务信息
Eureka信息

猜你喜欢

转载自blog.csdn.net/ErErFei/article/details/79062435