基于Spring boot2的服务注册发现与调用

最近在尝试使用Spring cloud构建微服务组件,参考了许多文档与博客,但在这个过程中发现了一个问题,网络上的文档等大多是基于Spring boot1.5的,Spring boot在升级到2.*之后,Spring Cloud组件相关配置方式发生了许多变化,按照原有的配置方式会出现很多错误,所以记录下基于Spring boot2的配置过程。并对调用过程进行分析。

1、构建Eureka服务

众所周知,在微服务里面,业务系统之间有复杂的调用关系,他们之间需要有一个注册中心来管理。也就是服务发现代理,它应该能起到如下作用:

  • 普通服务能使用服务发现代理进行注册。
  • 服务客户端能通过服务发现代理查找所需的服务信息。
  • 多个服务发现代理间能共享服务的注册信息。
  • 服务发现代理能检测服务的健康信息。

在Spring Cloud中,有多个组件可以起到服务发现代理的作用,但一般比较常用、较专业、可用性较高的是Eureka,Eureka分为Server和Client,Server是注册中心,Client是注册/调用方,接下来我们构建Eureka Server来启动一个服务发现代理。

1.1 Idea创建Eureka项目
  1. 新建项目,选择Spring boot项目。

  2. 选择Eureka Server。
    APhOwq.md.png
    如图所示,Idea会自动帮你创建Eureka项目并生成pom文件,如果不想用自动生成的话,可以手动设置pom文件,引入如下包。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
1.2 添加配置文件

接下来,需要创建src/main/resources/application.yml文件(或application.properties,两者作用是一样的,但.yml文件为树形结构,更容易理解)。添加如下配置。

server:
  port: 8761 #Eureka服务监听端口

eureka:
  client:
    registerWithEureka: false #不要使用Eureka服务注册
    fetchRegistry: false #不要在本地缓存注册表信息
  #server:
  #  waitTimeInMsWhenSyncEmpty: 5 #在服务器接收请求之前等待的初始时间

registerWithEureka属性的含义是通过Eureka服务来注册自身,这里设置为false时因为它本身就是Eureka服务,不需要进行注册。fetchRegistry是在客户端本地缓存注册表信息。waitTimeInMsWhenSyncEmpty

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值