今天和大家聊一下微服务网关 Spring Cloud Gateway。Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0、Spring Boot 2.0 和 Project Reactor 等组件技术,Spring Cloud Gateway 的性能和功能表现都很优异。

笔者去年也写了几篇关于 Spring Cloud Gateway 的文章。从当时最先基于v2.0.0.M8,之后体验了 RC 版本,然后是v2.0.0.RELEASE,也曾撸过一遍源码,对网关的原理与实现还是比较熟悉的。最近抽空看了看最新的版本v2.1.0.RELEASE,在功能上有一些迭代,功能愈加完善。这次特地分享 Spring Cloud Gateway 的应用实战。本次分享基于的 Spring Cloud Gateway 版本为v2.0.2.RELEASE,对应的 Spring Cloud 的版本为Greenwich.RELEASE

chat 内容简介

微服务最早是由 Martin Fowler 与 James Lewis 于 2014 年共同提出。时至今日,微服务架构已经成为了主流的架构模式。微服务架构风格是一种使用一系列粒度较小的服务来开发单个应用的方式 。

当使用单体应用程序架构时,客户端(web 和移动端)通过向后端应用程序发起一次 REST 调用来获取数据。负载均衡器将请求路由给 N 个相同的应用程序实例中的一个。然后应用程序会查询各种数据库表,并将响应返回给客户端。微服务架构下,单体应用被切割成多个微服务,如果将所有的微服务直接对外暴露,势必会出现安全方面的各种问题。

在微服务架构中,API 网关是一个服务,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API 网关封装了系统内部架构,为每个客户端提供一个定制的 API。它可能还具有其它职责,如身份验证、监控、负载均衡、限流、降级与应用检测。

目录

  1. 微服务架构与 API 网关介绍;
  2. 与 Spring Cloud Netflix Zuul 的对比;
  3. 使用 Spring Cloud Gateway 构建网关;
  4. Hystrix 断路器在微服务网关中的应用;
  5. 整合统一认证授权;
  6. 网关的异常处理。

最后

感兴趣的读者可以参与下本次 GitChat,之前的文章也零碎介绍了 Spring Cloud Gateway,如果已经上手 Gateway 了的小伙伴就没有必要再参加了。本次 Chat 的特点是基于最新版本的 Spring Cloud Gateway,并串起来讲解一个完整的 Spring Cloud Gateway 实战应用,文章之后会有读者群交流。

感谢    赞同    分享    收藏    关注    反对    举报    ...