转载

Spring Cloud 实战一:服务注册中心

Hello大家好,我是初晨,本章我们学习SpringCloud Eureka的使用。大家有问题和意见可以发邮箱mr_beany@163.com

一:SpringCloud Eureka

  • SpringCloud Eureka是基于Netflix Eureka的二次封装
  • 分为两个部分:1.注册中心;2.服务注册

二:搭建Eureka Server

1:创建基础框架

创建SpringCloud项目基本步骤与SpringBoot基本相同。

创建参考下面组图,需要注意的点以用红色块标注

Spring Cloud 实战一:服务注册中心

Spring Cloud 实战一:服务注册中心

Spring Cloud 实战一:服务注册中心

Spring Cloud 实战一:服务注册中心

创建好后目录如下:

Spring Cloud 实战一:服务注册中心

别忘了刷新pom.xml文件来下载所需jar包。

步骤:右键pom文件,选择Maven→Reimport

2:添加配置

在启动类上加上注解:@EnableEurekaServer

该注解表示这个项目是eureka注册中心

Spring Cloud 实战一:服务注册中心

3:启动项目

启动项目之后,访问localhost:8080可以看到如下界面代表创建成功

Spring Cloud 实战一:服务注册中心

4:处理项目报错

这时细心的小伙伴可能会发现,虽然我们已经启动成功,但是控制台会持续报错,这是什么原因呢?

Spring Cloud 实战一:服务注册中心

这是由于Eureka本身不但是个注册端,还是个服务端,这时他会以轮询的方式进行寻找注册端将自己注册上去,为了阻止他报错,我们来添加配置将注册地址指向他自己本身

修改配置文件后缀。我们使用.yml格式的配置文件,添加如下配置

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8080/eureka/ 复制代码

再次启动我们发现他仍然报错

Spring Cloud 实战一:服务注册中心

这时由于eureka在项目还未启动完毕时就尝试着往配置中的localhost:8080/eureka/中注册,那此时项目尚未启动成功,自然会报错。等待项目启动结束后就不会报错。

再次访问localhost:8080

Spring Cloud 实战一:服务注册中心

我们发现服务已经注册成功,但是服务名称并没有显示。所以我们添加如下配置:

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8080/eureka/
spring:
  application:
    name: eureka 复制代码

再次启动访问

Spring Cloud 实战一:服务注册中心

ok,已经注册成功,服务名也已经正确显示,但是呢,我们eureka服务本身功能就是注册中心,不应该出现在Instances currently registered with Eureka下面,所以我们添加如下配置:

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8080/eureka/
    register-with-eureka: false
spring:
  application:
    name: eureka复制代码

再次启动访问:

Spring Cloud 实战一:服务注册中心

ok,成功!

5:修改IP

Spring Cloud 实战一:服务注册中心

Spring Cloud 实战一:服务注册中心

将ip地址改为Eureka的默认ip地址8761

-Dserver.port=8761复制代码

再次启动访问http://localhost:8761/

Spring Cloud 实战一:服务注册中心

三:结尾

感谢大家支持,应用中心接下来陆续更新,感谢大家。

对于springBoot还不了解的朋友可以看我的SpringBoot系列教程

原文  https://juejin.im/post/5cd032396fb9a032447f0d04
正文到此结束
Loading...