今天和大家聊一下微服务网关 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。它可能还具有其它职责,如身份验证、监控、负载均衡、限流、降级与应用检测。
目录
- 微服务架构与 API 网关介绍;
- 与Spring Cloud Netflix Zuul的对比;
- 使用Spring Cloud Gateway构建网关;
- Hystrix断路器在微服务网关中的应用;
- 整合统一认证授权;
- 网关的异常处理。
最后
感兴趣的读者可以参与下本次GitChat,之前的文章也零碎介绍了Spring Cloud Gateway,如果已经上手Gateway了的小伙伴就没有必要再参加了。本次Chat的特点是基于最新版本的Spring Cloud Gateway,并串起来讲解一个完整的Spring Cloud Gateway实战应用,文章之后会有读者群交流。