什么是Spring Cloud Eureka
创新互联是一家专注于成都网站制作、网站设计与策划设计,吉木乃网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:吉木乃等地区。吉木乃做网站价格咨询:028-86922220Spring Cloud Eureka 是 Spring Cloud 中的一个组件,它是基于 Netflix Eureka 做了二次封装,主要是负责完成微服务框架中服务治理的功能。Spring Cloud通过为 Eureka 增加了 Spring Boot 风格的自动化配置,我们只需要通过简单的引用依赖和注解就能让 Spring Boot 够将的微服务应用轻松的与 Eureka 服务治理体系进行整合。
服务治理
服务治理是微服务框架中最为核心和基础的模块,它主要是用来实现各个微服务实例的自动化注册与发现。
最初开始,可能构建的微服务系统服务并不是很多,我们可以通过一些静态配置来完成服务的调用。比如有两个服务 A 和 B,其中 A 服务需要调用 B 服务来完成一个业务操作时,为了实现 B 服务的高可用,无论我们采用服务端的复杂均衡,还是客户端的负载均衡,我们都需要手工的来维护一份 B 的实例列表。但是随着业务的发展,系统功能越来越复杂,相应的微服务也是越来越多,这种静态手工维护的难度会越来越高。
为了解决这种问题,产生了大量的服务治理的框架和产品。这些框架其实都是围绕着服务注册和服务发现机制来完成对微服务应用实例的自动化管理。
服务注册
在服务治理框架中,通常都会构建一个服务注册中心,每个服务实例单元向注册中心登记自己的服务,将实例主机位置、端口号、版本号、通信协议等一系列附加信息告诉注册中心,注册中心按服务名分类组织服务清单。
服务发现
由于在服务治理框架下操作,服务间的通信与调用不再是通过指定具体的实例地址来实现,而是通过向服务名发起请求调用实现。所以,服务调用方在调用服务提供方的接口时,并不知道具体的服务实例位置。因此,需要先向注册中心发起查询请求,获取实例清单,以实现对具体服务实例的访问。
搭建 Eureka 注册中心服务
搭建单中心Eureka
我们之后的所有开发都会基于以上版本进行操作,需要注意的是:Sring Cloud 使用的是 SNAPSHOT 版,所以需要在 pom 文件中指定仓库的地址。
首先,我们新建一个 Spring Boot 工程,命名为:spring-cloud-eureka,并在 pom 中添加必要的依赖,具体 pom 文件如下:
<?xml version="1.0" encoding="UTF-8"?>4.0.0 com.sagesource spring-cloud-eureka 0.0.1-SNAPSHOT jar spring-cloud-eureka org.springframework.boot spring-boot-starter-parent 2.0.2.RELEASE UTF-8 UTF-8 1.8 Finchley.BUILD-SNAPSHOT org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-netflix-eureka-server org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin spring-snapshots Spring Snapshots https://repo.spring.io/snapshot true spring-milestones Spring Milestones https://repo.spring.io/milestone false