服务治理
1.spring cloud eureka | 是spring cloud netflix 微服务套件中的一部分,它基于netflixeureka做了二次封装,主要负责完成微服务架构中的服务治理功能。spring cloud 通过为eureka 增加了spring boot 风格的自动化配置,我们只需通过简单引入依赖和注解配置就能让spring boot 构建的微服务应用轻松的与eureka服务治理体系进行整合 |
2.服务治理: | 是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册与发现。 |
3.服务注册: | 在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心等级自己提供的服务,将主机与端口号,版本号,通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。服务注册中心还需要以心跳的方式去检测清单中的服务是否可用,若不可用,需要从服务清单中剔除,达到排除故障服务的效果。 |
4.服务发现: | 由于在服务治理框架下运作,服务间的调用不再通过指定具体的实例地址来时间,而是通过向服务名发起请求调用实现。所以,服务调用方在调用服务提供方接口的时候,并不知道具体的服务实例位置。注册中心以轮询的方式给其地址。 |
5. netflix eureka : | spring cloud eureka ,使用netflix eureka来实现服务注册与发现,它即包含了服务端组件,也包含了客户端组件,并且服务端与客户端均此阿勇java编写,所以eureka主要适用与通过java实现的分布式系统,或者是与jvm兼容语言构建的系统。但是,由于eureka服务端的服务治理机制提供了完备的restful api ,所以它也支持非java构建的微服务应用纳入eureka的服务治理体系中来。 |
6.eureka 服务端 | 我们也称为服务注册中心。它同其他服务注册中心一样,支持高可用配置。它依托于强一致性提供良好的服务实例可用性,可以应对不同的故障场景。如果eureka以集群模式部署,当集群中有哦分片出现故障时,那么eureka就转入自我保护模式。它允许在分片故障期间继续提供服务的发现和注册,当故障分片恢复运行时,集群中的其他分片会把它们的状态再次同步回来。 |
7.eureka客户端 | 主要处理服务的注册与发现。客户端服务通过注解和参数配置的方式,嵌入在客户端应用程序的代码中,在应用程序运行时,eureka客户端向注册中心注册自身提供的服务并周期性的发送心跳来更新它的服务租约。同时,它也能从服务端查询当期那注册的服务信息并把他们缓存到本地并周期性的刷新服务状态。 |
搭建服务注册中心:
pom.xml:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma