概要
什么是Spring Cloud Netflix Zuul?
怎么用 Spring Cloud Netflix Zuul?
什么是Spring Cloud Netflix Zuul?
Zuul is a JVM based router and server side load balancer by Netflix.
Zuul 是一个基于JVM的路由器和服务端负载均衡器,它默认包含Ribbon和Hystrix.它其实就是一个API Gateway的部分实现,详见博文
为了解决以下问题的组件:
身份验证
压力测试
动态路由
服务迁移
安全
静态响应处理
流量控制
Load Shedding
Canary Testing
怎么用Spring Cloud Netflix Zuul?
百说不如一run,构造一个例子来实现,这次的例子很简单,就是启动一个sentence的Zuul代理,通过Zuul的端口访问指定word服务.
基于实战四的例子
正常启动Eureka Server
正常启动Eureka Client,此时我们这里只启动一个noun服务
为Eureka Sentence添加Pom依赖
<dependency>
<groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
在Eureka Sentence的Application加上@EnableZuulProxy注解
在Eureka Sentence的Application加上以下代码实现ETag功能
@Bean
public Filter shallowEtagHeaderFilter() {
return new ShallowEtagHeaderFilter();
}
Eureka Sentence的bootstrap.yml如下
spring:
application:
name: sentence
server:
port: 8080
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8010/eureka/
打开http://127.0.0.1:8080/noun就可以访问到相应的noun服务(默认的Zuul接口转换就是/serviceId)
特别感谢 kennyk65
Spring Cloud 中文用户组 31777218
Spring-Cloud-Config 官方文档-中文译本 (本人有参与,哈哈)
Spring Cloud Netflix 官网文档-中文译本
本文实例github地址 mmb-zuul
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。