美文网首页
Spring Cloud微学习(一)Eureka初探——基本搭建

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

作者: 爱清清 | 来源:发表于2018-03-13 14:19 被阅读0次

    引言: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的相关配置。<font color='red'>由于版本不断更新,可能配置有差别,所以最好参考</font>官方文档

    <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的相关配置。<font color='red'>由于版本不断更新,可能配置有差别,所以最好参考</font>官方文档

    <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信息

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/uwdzfftx.html