开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三十)-阿里云开发者社区

开发者社区> 【开发者学堂】官方技术圈> 正文
登录阅读全文

开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三十)

简介: Spring Cloud微服务架构设计与开发实战课时3.9—Spring Cloud Gateway实战。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

哈喽各位同学们大家好呀,今天是开发者学院中课程“Spring Cloud微服务架构设计与开发实战”的章节三的Spring Cloud Gateway实战 ”干货总结~是一起学习新课程吧!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:Spring Cloud Gateway实战

课程地址:https://developer.aliyun.com/learning/course/60/detail/1102

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java


Spring Cloud Gateway实战


Gateway本身框架不断进行迭代,除了官方共建以外,社区贡献了许多技术组件飞公司贡献了Spring Cloud Gateway早期的微服务的许多核心组件对于整个Java微服务发展做出了非常巨大的贡献,但是官方披露公司一直希望能够进行云原生企业化,包括有可能会走一些收费路线,飞贡献了很多代码,但是实际没得到多少好处 

 

  1.   Spring Cloud Gateway网关 

1Spring Cloud Gateway新特性 

  1. Built on Spring Framework 5, Project  
  2. Reactor and Spring Boot 2.0 
  3. Able to match routes on any request  
  4. attribute. 
  5. Predicates and filters are specific to routes. 
  6. Hystrix Circuit Breaker integration. 
  7. Spring Cloud DiscoveryClient integration 
  8. Easy to write Predicates and Filters 
  9. Request Rate Limiting 
  10. Path Rewriting 

主要特点是你现在用Spring Cloud Gateway Spring Framework5年以上Spring boot2.0 往上的版本它里面有一些编程语法这边有个词叫魏池魏池的话实际上我们说主要是做或者说自定义的一些代码的扩展,主要我们比如说做过滤器或者说路由的一些定自定义的开发工作另外也自己继承Hystrix组件,也有说叫Discoveryclient贡献服务的客户端所以很多技术组件还依然存在只不过有些是官方在后续的更新中,我们知道2020以后可能就不再默认集成 

 

  1. Spring Cloud Gateway新特性 

 Spring 5Project ReactorSpring Boot 2.0构建 

 能够匹配任何请求路由。 

 特定路由专用Predicate谓词和过滤器Filter特。 

 集成Hystrix断路器。 

 集成Spring Cloud DiscoveryClient 

 易于编写谓词和过滤器 

 请求速率限制 

 路径重写 

 非阻塞API,响应式API,高并发 

这里面比较有意思的细节已经有了之前梳理里面也已经集成了服务重要的是我们实际想变成异步的非阻塞Api其实对后期要高并发吞吐量会有新的改善,也不是绝对的,要做压测才能够体现出来技术差异出了一个结构,大家发现里面其实有很多相似点,比如这里面其实也有请求处理 

 

  1. Spring Cloud Gateway网关架构 
  2. Spring Cloud Gateway架构图 

image.png 

普通的架构师会模仿架构就可以,但是高级专家架构师不仅要能开发,还能做优化,还要做一些架构关键底层的设计扩展这是对于高级岗位的要求 

 

2Gateway核心组件 

Route是网关的基础元素,由ID、目标URI、断网、过滤器组成。当请求到达网关时,由Gateway Handler Mapping  通过断言进行路由匹配(Mapping),当断言为真时,匹配到路由。 

PredicateJava 8 Function Predicate。输入类型是Spring Framework SeverWebExchange。匹配HTTP请求,例如请求头或者请求参数。简单来说它就是匹配条件做路由。 

 FilterGateway中的过滤器,在请求发出前后进行处理。 

 

3Route Predicate Factories模式 

  1. After Route Predicate Factory 
  2. Before Route Predicate Factory 
  3. Between Route Predicate Factory 
  4. Cookie Route Predicate Factory 
  5. Header Route Predicate Factory 
  6. Host Route Predicate Factory 
  7. Method Route Predicate Factory 
  8. Path Route Predicate Factory 
  9. Query Route Predicate Factory 
  10. RemoteAddr Route Predicate Factory 

 

  1. 实战Spring Cloud Gateway 
  2. 赖包 

• <dependency> 

• <groupId>org.springframework.cloud</groupId> • <artifactId>spring-cloud-startergateway</artifactId> • </dependency> 

 

我们做一个Spring Cloud Gateway项目,要加入必要的依赖,一般必要的依赖包有了,要改一下配置这个和我们以往开发过程不太一样,因为有些参数方式不一样,实验的话基本上基于Spring Cloud Gateway2。实际有一问题是要启用路由才行,直接改完配置后,加注解启动就可以,这边还要改配,不改配的话,你可能介入以后请求无法进行转发的核心依赖包就是artifactId 

 

  1. 配置文件 

• spring.cloud.gateway.enabled=false 

配置文件里面要启用一个开关你可以提供给他们,也可以关闭它。我们要显示启动这里面等于false的话就等于关闭稍微注意一下 

 

  1. 代码配置路由 

image.png 

image.png 

前面的配置文件的方式和我们之前租的很像有自己的名字,如果我要注册到注册中心进行挂接的话 主要是eureka 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云开发者学堂,是开发者学习成长的一站式学习平台。平台源源不断的生产优质体系化课程、优质内容如电子书、直播、体验场景、训练营等,为开发者构建完善的学习成长体系,为开发者赋能。目前,开发者学堂包含数据库、大数据、云原生、AI、IoT等各大热门领域精品课,全部免费对开发者开放。

官方博客
最新文章
相关文章
官网链接