springcloud 配置eureka-server与clie

作者: 程序鱼 | 来源:发表于2018-12-02 00:02 被阅读4次

    开发工具用的是Intellij idea 2018.3

    首先使用spring initializr创建eureka-server

    image.png

    下一步填写好groupId和artifact名称,然后点击下一步,出现下图,注意第三点,这里选择的版本号,要根据spring cloud官网给出的版本映射表选择

    image.png

    spring-cloud官网

    进入官网之后一直往下拉,就可以看到映射表


    image.png

    为什么我在上上张图第③处选择的是springboot2.0.7,而这里推荐使用2.0.6release呢?

    是因为springcloud官网显示springboot2.0.7对应的spring-cloud是 napshot(快照版本),可能存在不稳定,我们这里使用稳定版

    所以对应创建出来的maven pom.xml也要修改下版本,如下图

    image.png

    然后一个springboot项目就初始化完成了,接下来,有两处我们需要修改一下
    1. 在springboot的启动类上添加注解@EnableEurekaServer

    image.png

    2. 在application.yml中添加配置

    image.png

    一个简单的eureka-server就搭建好了,浏览器输入http://localhost:8761/就可以访问

    接下来我们需要注册一个简单的eureka-client

    依旧使用spring initializr创建eureka-client

    image.png

    然后记得创建完成后一定要修改pom.xml和eureka-server版本相同,如下图

    image.png

    然后在启动类上加上@EnableDiscoveryClient

    这里引申一下,有的教程说添加的是@EnableEurekaClient,这两个有什么区别呢?

    1.@EnableDiscoveryClient注解是基于spring-cloud-commons依赖,并且在classpath中实现;
    2.@EnableEurekaClient注解是基于spring-cloud-netflix依赖,只能为eureka作用;

    如果你的classpath中添加了eureka,则它们的作用是一样的

    接下来还需要修改下eureka-client的application.yml,请注意我下图标记出来的地方,在client中要配置eureka-server的地址

    image.png

    好了,一切就绪,启动一下client !

    咦?怎么报错了

    Invocation of destroy method failed on bean with name 'scopedTarget.eurekaClient': org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'eurekaInstanceConfigBean': Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)

    这简直是一个大坑,错误信息很有误导性,真正原因是因为

    client里不包含Tomcat的依赖,所以Spring容器无法创建一些实例,从而导致项目无法启动,只需在pom.xml文件中,加上web依赖即可:

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    

    重启client之后,再刷新eureka-sever页面,就可以看到client已经注册进来了


    image.png

    相关文章

      网友评论

        本文标题:springcloud 配置eureka-server与clie

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