springcloud 配置eureka-server与client

开发工具用的是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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 121,151评论 16 134
  • 接上篇,上篇我们实现了一个 Eureka Server 的服务功能,并且能够运行起来作为我们的注册中心。 此篇我们...
    雨林_a1d6阅读 1,751评论 0 4
  • 微服务架构模式的核心在于如何识别服务的边界,设计出合理的微服务。但如果要将微服务架构运用到生产项目上,并且能够发挥...
    java菜阅读 2,549评论 0 6
  • 如果你参加一份工作,你有多种方式可选,可以兢兢业业,可以浑浑噩噩,你做好自己应该做的事情就算合格,上司或老板就可以...
    恰同学少年_81ce阅读 106评论 0 0
  • 这段时间感觉什么都顾不上,有很多工作上的事情要忙。 似乎是身体自己的调节机制,让我回到家之后什么也不想做,只想去健...
    小黄人儿阅读 160评论 0 1