1. 知识点说明
Spring Cloud 的服务治理使⽤ Eureka 来实现,Eureka 是 Netflix 开源的基于 REST 的服务治理解决⽅ 案,Spring Cloud 集成了 Eureka,提供服务注册和服务发现的功能,可以和基于 Spring Boot 搭建的微服务应⽤轻松完成整合,开箱即⽤
服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现
-
服务注册
在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机与端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单 -
服务发现
在服务治理框架下运作,服务间的调用不再通过指定具体的实例地址来实现,而是通过向服务名发起请求调用发现,所以,服务调用方在调用提供方接口的时候,并不知道具体的服务实例位置,因此,调用方需要向服务注册中心咨询服务,并获取所有服务的实例清单,以实现对具体服务实例的访问
Eureka 服务端:服务注册中心
Eureka 客户端:服务的注册与发现,客户端服务通过注解和参数配置的方式嵌入在客户端应用程序代码中,在应用程序运行时,Eureka 客户端向服务中心注册自身提供的服务并周期性地发送心跳来更新它的服务租约,同时,它也能从服务器查询当前注册的服务信息并且把它们缓存到本地并周期性地刷新服务状态
2. 项目实现
- 首先创建一个 spring-cloud 项目,作为后面的知识点介绍的一个父工程,内部通过 new Module 创建其他的内容
首先通过 idea -> new -> project
点击 next ?
填写 ? 的项目基本信息,点击 next ?
点击 next ,然后再点击 Finish ?
- 创建 Eureka 注册中心
选中 spring-cloud 项目,右键选择 new -> Moudle ?
点击 next ?
填写 ? 的信息,然后点击 next ?
选中 ? 的那些可选项,然后点击 next,再点击 Finish 创建 spring-server 项目 ?
开始进行配置 ?
将 application.properties 通过 alt + shift + r 键改掉后缀,变成 application.yml
黏贴下面的代码信息到 application.yml 中 ?
server:
port: 8761
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
配置启动项,启动项位于 mr.s.server 下的 SpringServerApplication
添加这个注解 @EnableEurekaServer ,然后点击上面的绿色三角就可以运行起来了 ?
console 打印下面的信息,无报错
浏览器访问 http://localhost:8761/ 可以看到 ?