在微服务架构中,须要几个基础的微服务,包括服务的注册与发现,服务消费,负载均衡,断路器,咋能路由,配置管理等,由这几几个基础组件相互协做,共用组建一个简单的微服务系统。web
-Zuul 简介 spring
Zuul是NetFlix开源的微服务网关,他能够和Eureka,Ribbon,Hystrix等组件配合使用。Zuul组件的核心是一系列的过滤器,这些过滤器能够完成如下功能:后端
1,身份认证和安全: 识别每个资源的验证要求,并拒绝那些不符的请求跨域
2,审查与监控:安全
3,动态路由:动态将请求路由到不一样后端集群架构
4,负载分配:为每一种负载类型分配对应容量,并弃用超出限定值的请求app
5, 静态响应处理:边缘位置进行响应,避免转发到内部集群负载均衡
6 多区域弹性:跨域AWS Region进行请求路由,旨在实现ELB(ElasticLoad Balancing)使用多样化spring-boot
Spring Cloud对Zuul进行了整合和加强。目前,Zuul使用的默认是Apache的HTTP Client。微服务
Zuul和Eureka配合使用,Zuul须要注册到Eureka上,
pom文件 须要 添加 依赖:
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> </dependencies>
在其入口applicaton类加上注解@EnableZuulProxy,它默认加上了@EnableCircuitBreaker和@EnableDiscoveryClient,因此只须要添加上注解注解@EnableZuulProxy