1.Zuul简介
电影《捉鬼敢死队》中的怪兽,Zuul,在纽约引发了巨大骚乱。
事实上,在微服务架构中,Zuul就是守门的大Boss!一夫当关,万夫莫开!
2.Zuul加入后的架构
3.HelloWorld
- 创建项目,添加依赖
- 启动类添加注解,开启Zuul的网关功能
@EnableZuulProxy
- 配置类配置端口
server:
port: 10010 #服务端口
spring:
application:
name: api-gateway #指定服务名
- 编写路由规则
zuul:
routes:
service: # 这里是路由id,随意写
path: /service/** # 这里是映射路径
url: http://127.0.0.1:8081 # 映射路径对应的实际url地址
- 整合eureka,注册到注册中心
依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
启动类添加注解:
@EnableDiscoveryClient
添加Eureka配置:
eureka:
client:
registry-fetch-interval-seconds: 5 # 获取服务列表的周期:5s
service-url:
defaultZone: http://127.0.0.1:10086/eureka
instance:
prefer-ip-address: true
ip-address: 127.0.0.1
- 修改映射配置,通过服务名称获取
zuul:
routes:
user-service: # 这里是路由id,随意写
path: /service/** # 这里是映射路径
service-id: service # 指定服务名称
- 启动测试,通过网关地址访问
- Zuul进行代理时,会利用Ribbon进行负载均衡访问
优化配置
我们关于user-service的配置可以简化为一条:
zuul:
routes:
service: /service/** # 这里是映射路径
至此,入门完成