时间:2020-09-27来源:www.pcxitongcheng.com作者:电脑系统城
微服务实战系列是基于开源微服务项目 有来商城youlai-mall 版本升级为背景来开展的,本篇则是讲述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的计划。
SpringCloud Gateway和Zuul对比及技术选型?
有来商城youlai-mall 完整项目结构图
本篇文章涉及项目模块
工程名 | 端口 | 描述 |
---|---|---|
nacos-server | 8848 | 注册中心和配置中心 |
youlai-gateway | 9999 | API网关 |
youlai-admin | 8080 | 管理平台 |
版本声明
Nacos Server: 1.3.2
SpringBoot: 2.3.0.RELEASE
SpringCloud: Hoxton.SR5
SpringCloud Alibaba: 2.2.1.RELEASE
1.添加SpringCloud Gateway依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
2.bootstrap.yml配置信息
server:
port: 9999
spring:
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实现网关鉴权功能。
2023-03-17
Nginx主机域名配置实现2023-03-17
Nginx配置-日志格式配置方式2023-03-17
Apache APISIX Dashboard 未授权访问漏洞分析(CVE-2021-45232)正常项目无法访问(Linux 服务器),启动tomcat时卡在下图位置,项目无法启动。1、先检查tomcat日志、项目日志没有报错信息,且没再产生新的日志信息。2、jdk、tomcat 、 jvm 配置,服...
2023-03-15
这篇文章主要介绍了Kubernetes中Nginx服务启动失败排查流程(Error: ImagePullBackOff),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以...
2023-03-15