美文网首页
创建、配置Eureka Server 和 Client

创建、配置Eureka Server 和 Client

作者: 楼主楼主 | 来源:发表于2018-06-01 00:25 被阅读0次

    spring cloud学习笔记

    上文 这是第一篇 :)
    下文 使用多个 Eureka Server

    开发环境 Windows10、 IDEA 2018.1.3 ,Spring Boot 版本 2.0.2.RELEASE

    通过 idea 创建Eureka server项目

    New Project-> Spring Initalizr
    next 修改group 和 artifact
    next 我使用的是2.0.2版本的SpringBoot 注意在选择依赖时 勾选 Web 和 Eureka Server



    一路确定 完成创建。

    配置启动项目

    首先就有一个坑,在墙内我们喜欢用阿里云的maven仓库,
    SpringBoot 2.0.2.RELEASE版本对应的 Spring Cloud 版本是Finchley.RC2,通过Spring Initalizr创建的项目会自动选择合适的版本。
    但是阿里云仓库里似乎没有这个版本的 Spring Cloud ,导致 Eureka 相关的包都找不到。

    哎,我也是搞了好久才发现是这个问题,以前都以为阿里云maven仓库应该是完整的。后来我发现这个锅也不能让阿里仓库背,maven中央仓库的版本甚至比阿里仓库还低,在pom中手动添加spring官方仓库,里面有所需版本 Finchley.RC2。菜鸟学习技术需谨慎啊,盲目使用最新版本,给自己带来不必要的麻烦。

    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    

    使用 application.yml 的配置

    server:
      port: 8761 # 8761是eureka server的默认端口
    eureka:
      server:
        enable-self-preservation: false #防止由于Eureka的机制导致Client被错误显示在线 仅在开发环境使用
      client:
        service-url:
          defaultZone: http://localhost:8761/eureka/ #这便是此eureka server的应用注册地址
        register-with-eureka: false #不显示对server应用的注册
    spring:
      application:
        name: eureka-demo
    

    记得在springboot 启动类上加上注解@EnableEurekaServer

    package lzlz.demo.springcloud.eureka;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
    
    @SpringBootApplication
    @EnableEurekaServer
    public class EurekaApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(EurekaApplication.class, args);
        }
    }
    

    现在就可以启动啦,红色的警告部分就是配置enable-self-preservation: false造成的

    image.png

    也可以通过 mvn clean package 把此项目编译成jar包方便使用,jar包在 target目录下。

    创建 配置Eureka Client项目

    New Project-> Spring Initalizr
    next 修改group 和 artifact
    next 我使用的是2.0.2版本的SpringBoot 选择 Web 和 Eureka Discovery 依赖


    一路确定 完成创建。

    使用 application.yml 的配置

    server:
      port: 8081
    eureka:
      client:
        service-url:
          defaultZone: http://localhost:8761/eureka/ #注册到刚才那台Eureka Server地址
    spring:
      application:
        name: client-0
    

    记得在 SpringBoot 启动类上加上注解@EnableDiscoveryClient

    运行Server 和 Client

    可以看到名为 client-0 的应用已经注册到 Eureka

    注意 Eureka 服务端和客户端的连接有心跳检测的机制,因此客户端连接或者断开连接都可能不是即时反应的。

    相关文章

      网友评论

          本文标题:创建、配置Eureka Server 和 Client

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