java B2B2C Springboot仿淘宝电子商城系统--Spring Cloud Gateway

ITyi · · 162 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
1.Spring Cloud Gateway 是什么 Spring Cloud Gateway 基于 Spring Boot 2, 是 Spring Cloud 的 全新 项目, 该项 目 提供 了 一个 构建 在 Spring 生态 之上 的 API 网关, 包括 Spring 5、 Spring Boot 2 和 Project Reactor。 Spring Cloud Gateway 旨在 提供一种简单而有效的途径来转发 请求,并为它们提供横切 关注点, 例如: 安全性/监控/ 指标和弹性。愿意了解源码的朋友直接求求交流分享技术:二一四七七七五六三三 2.Spring Cloud Gateway 特性 基于 Java 8 编码; 基于Spring Framework 5,Project Reactor和Spring Boot 2.0构建 支持动态路由,能够匹配任何请求属性上的路由。 支持 内置 到 Spring Handler 映射 中的 路 由 匹配; 支持 基于 HTTP 请求 的 路 由 匹配( Path、 Method、 Header、 Host 等); 集成了Hystrix断路器 过滤器 作用于 匹配 的 路 由; 过滤器可以修改 HTTP 请求和HTTP 响应( 增加/ 修改 头部、 增加/ 修改 请求 参数、 改写 请求 路径 等); 支持 Spring Cloud DiscoveryClient 配置路由,与服务发现与注册配合使用。 支持限流 支持地址重写 3.Spring Cloud Gateway 词汇 Route(路由): 路由网关的基本构建块。 它由ID,目标URI,谓词集合和过滤器集合定义。 如果聚合谓词为真,则匹配路由。 Predicate: 这是一个Java 8函数谓词。 输入类型是Spring Framework ServerWebExchange。 这允许开发人员匹配HTTP请求中的任何内容,例如标头或参数。 Filter: 这些是使用特定工厂构建的Spring Framework GatewayFilter实例。 这里,可以在发送下游请求之前或之后修改请求和响应。 4.Spring Cloud Gateway 与 Zuul的区别 在 Finchley 正式版之前,Spring Cloud 推荐的网关是 Netflix 提供的Zuul: 1、Zuul 1.x,是一个基于阻塞 I/ O 的 API Gateway 2、Zuul 1.x 基于Servlet 2. 5,使用阻塞架构,它不支持任何长连接,如 WebSocket。 Zuul 的设计模式和Nginx较像,每次 I/ O 操作都是从工作线程中选择一个执行,请求线程被阻塞到工作线程完成,但是差别是Nginx 用C++ 实现,Zuul 用 Java 实现,而 JVM 本身会有第一次加载较慢的情况,使得Zuul 的性能相对较差。 3、Zuul 2.x,基于 Netty 非阻塞、支持长连接,但 Spring Cloud 目前还没有整合。 Zuul 2.x的性能较 Zuul 1.x 有较大提升。在性能方面,根据官方提供的基准测试, Spring Cloud Gateway 的 RPS(每秒请求数)是Zuul 的 1. 6 倍。 4、Spring Cloud Gateway 建立 在 Spring Framework 5、 Project Reactor 和 Spring Boot 2 之上, 使用 非 阻塞 API。 5、Spring Cloud Gateway 还 支持 WebSocket, 并且 与 Spring 紧密集成, 拥有更好的开发体验 技术架构图: [资料和源码来源 ](http://minglisoft.cn/honghu/tech.html) ![20181127093538441.jpg](https://static.kotlintc.com/181210/f4e704b02e84c3a0f0a9ce8d4d3c9010.jpg)
162 次点击  
加入收藏 微博
2 回复  |  直到
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet