zuul1 与 spring-cloud-gateway 的区别
Zuul:
是 netflix 公司的我的项目,实质上是 web servlet,基于 JavaEE Servlet 技术栈,应用阻塞 API,解决的是 http 申请,没有提供异步反对,不反对任何长连贯,比方 websocket。
依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
yml 配置:
server:
port: 10000
spring:
application:
name: user-service-zuul
eureka:
instance:
prefer-ip-address: true
ip-address: 127.0.0.1
client:www.sangpi.com
register-with-eureka: true
service-url:
defaultZone:
zuul:
routes:
zuul-path:
path: /zuul-path/**
连贯:
spring-cloud-gateway:
Spring Boot 和 Spring Webflux 提供的 Netty 底层环境,不能和传统的 Servlety 游戏容器一起应用,也不能打包成一个 WAR 包,应用非阻塞 API,反对 websocket。
依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
yml 配置:
利用名称
spring:
application:
name: ticket-gateway
cloud:
nacos:
discovery:
server-addr: localhost:8848
gateway:
routes:
- id: user-route
uri: lb://user # 负载平衡形式拜访 user 服务
predicates: # 匹配条件
- Path=/api/user/**
filters:
- StripPrefix=2
端口
server:
port: 10000
连贯:地址 / 申请门路? 参数
watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=
zuul1 与 spring-cloud-gateway 的区别:
1、gateway 比照 zuul 多依赖了 spring-webflux,外部实现了限流、负载平衡等,扩展性也更强,但同时也限度了仅适宜于 Spring Cloud 套件。
zuul 则能够扩大至其余微服务框架中,其外部没有实现限流、负载平衡等。
2、zuul 仅反对同步,
gateway 反对异步。
3、gateway 线程开销少,反对各种长连贯、websocket,spring 官网反对,但运维简单,
zuul 编程模型简略, 开发调试运维简略,有线程数限度,提早梗塞会耗尽线程连贯资源。