1、技术架构
2、组件介绍
1、服务注册与发现——Eureka
服务注册与发现中心采用Eureka,以AP为核心的高可用注册中心,保证高可用性和最终一致性,server之间互相注册的replicate机制可以单点注册、全局感知,通过集群式部署来避免单点故障导致服务不可用。
提供云端服务发现,一个基于Rest的服务,用于定位服务,以实现云端中间层的服务发现和故障转移。
主要用来实现服务治理,统一管理众多微服务应用的地址信息,以及复杂的调用关系,减少应用之间的耦合,通过提供服务方在Eureka Server注册服务,服务消费方在Server上订阅所需服务得到提供者的地址信息,完成一次服务之间的请求调用。
由Eureka Server和Eureka Client组成,Eureka Server用作注册中心,支持集群部署;Eureka Client是一个Java客户端,用来处理服务注册与发现。
2、服务网关——Spring Cloud GateWay
Spring Cloud GateWay作为Spring Cloud生态系统中的网关,旨在为微服务架构提供一种简单有效的统一的API路由管理方式,并且基于Filter链的方式提供了网关基本的功能,如:安全、授权、监控/指标、限流等。
GateWay特征有:动态路由、基于HTTP请求的路由匹配、Predicates和Filters作用于特定路由、集成Hystrix熔断器、易于编写的Predicates和Filters、限流、路径重写、与服务注册发现组件结合根据serviceId转发。
重要的概念
- 过滤器:用于拦截和链式处理web请求,实现横切的、与应用无关的需求。可在代理请求处理之前(pre)执行,也可以在请求之后(post)执行。pre类型过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等;post类型过滤器可以做响应内容、响应头的修改、日志输出、流量监控等。过了pre和post的区分,根据作用范围还可以分为针对单个路由的gateway filter和针对所有路由的global gateway filter。
- Predicate:在将web请求和路由进行匹配时,用到的就是predicate,决定请求走哪一个路由。GateWay内置了多种类型的Predicate。
请求时&#