本文共 1705 字,大约阅读时间需要 5 分钟。
微服务实战系列是基于开源微服务项目 版本升级为背景来开展的,本篇则是讲述API网关使用Gateway替代Zuul,有兴趣的朋友可以进去给个star,非常感谢。
微服务网关是位于服务之前或者应用程序之前的一个层面,用于保护、增强和控制微服务的访问。
其常见的作用有:
至于为什么使用Gateway而放弃Zuul?
SpringCloud 生态提供了两种API网关产品,分别是Netflix开源的Zuu1和Spring自己开发的SpringCloud Gateway,SpringCloud以Finchely版本为分界线,之前版本使用Zuul作为API网关,之后更推荐使用Gateway。
Netflix已经在2018年开源了Zuul2,但是SpringCloud已经推出了Gateway,并且在github标识没有集成Zuul2的计划。
完整项目结构图
本篇文章涉及项目模块
工程名 | 端口 | 描述 |
---|---|---|
nacos-server | 8848 | 注册中心和配置中心 |
youlai-gateway | 9999 | API网关 |
youlai-admin | 8080 | 管理平台 |
版本声明
Nacos Server: 1.3.2SpringBoot: 2.3.0.RELEASESpringCloud: Hoxton.SR5SpringCloud Alibaba: 2.2.1.RELEASE
1.添加SpringCloud Gateway依赖
org.springframework.cloud spring-cloud-starter-gateway
2.bootstrap.yml配置信息
server: port: 9999spring: application: name: youlai-gateway cloud: gateway: discovery: locator: enabled: true # 启用自动根据服务ID生成路由 lower-case-service-id: true # 设置路由的路径为小写的服务ID routes: - id: youlai-auth uri: lb://youlai-auth predicates: - Path=/youlai-auth/** filters: - StripPrefix=1 # 移除前缀 youlai-auth - id: youlai-admin uri: lb://youlai-admin predicates: - Path=/youlai-admin/** filters: - StripPrefix=1
3.微服务接口
youlai-admin添加一个接口方法用来测试网关转发能力
4.网关测试
依次启动项目nacos-server,youlai-admin,youlai-gateway
可以看到当我们请求网关的服务路径http://localhost:9999/youlai-admin/users的时候,路由根据匹配规则
将以/youlai-admin为前缀的请求路径转发到服务youlai-admin实例上去了。至此SpringCloud整合Gateaway就成功了,当然这里只是验证了API网关的路由转发功能。后面会写一篇关于SpringCloud Gateaway整合Oauth2实现网关鉴权功能。
转载地址:http://eaxuz.baihongyu.com/