当前位置: 首页> 游戏> 攻略 > ui平面设计是做什么的_岳阳网络推广公司_本地免费发布信息网站_关键词搜索趋势

ui平面设计是做什么的_岳阳网络推广公司_本地免费发布信息网站_关键词搜索趋势

时间:2025/7/12 1:36:49来源:https://blog.csdn.net/qq_22910257/article/details/147613092 浏览次数:0次
ui平面设计是做什么的_岳阳网络推广公司_本地免费发布信息网站_关键词搜索趋势

Gateway—SpringCloud微服务网关组件

一、Spring Cloud Gateway简介

1.为什么要用Gateway?

在微服务架构中,通常一个系统会被拆分为多个微服务,微服务之间的调用可以用OpenFeign,但面对这么多微服务客户端调用会遇到哪些问题呢?

在这里插入图片描述

  1. 每个服务都需要鉴权、限流、跨域访问、权限验证等操作,如果每个微服务各自为战,会很麻烦。

  2. 对于客户端来说,每个微服务都分配一个域名的话,客户端代码会很难维护,而且连接数也会有瓶颈.

  3. 随着一个项目的微服务的增多,后期对微服务进行重构的话,也会变的非常麻烦,需要客户端配合一起修改。

2、Spring Cloud Gateway 的定义

为了解决上面的问题,微服务引入了 网关 的概念,网关为微服务架构的系统提供简单、有效且统一的API路由管理,作为系统的统一入口,提供内部服务的路由中转,给客户端提供统一的服务,可以实现一些和业务没有耦合的公用逻辑,主要功能包含认证、鉴权、路由转发、安全策略、防刷、流量控制、监控日志等。

Spring Cloud Gateway 是 Spring Cloud 新推出的网关框架,之前是 Netflix Zuul。

简单来说:Gateway相当于医院大厅的挂号台,对病人进行引流。

加入网关后结构图:

在这里插入图片描述

3.Spring Cloud Gateway三大组成部分

Route(路由): 是构建网关的基本模型, 由ID ,URI 一系列的断言和过滤器组成。

Predicate (断言): 可以匹配Http 请求中所有的内容(请求头 参数等等) 请求与断言,相匹配则通过当前断言。

Filter(过滤器): 包括全局和局部过滤器 ,可以在请求被路由钱后对请求进行更改。

二、Spring Cloud Gateway快速入门

前面我们学习过Nacos,可以帮助我们管理我们的服务,学习Spring Cloud Gateway时,我们可以直接将Nacos整合进来。

1.项目项目

复制之前的Sentinel项目,在此基础上添加api-gateway子模块

添加入口类

在这里插入图片描述

2.添加Jar包

<!--gateway网关-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId>
</dependency><!--由于springcloud2020弃用了Ribbon,因此Alibaba在2021版本nacos中删除了Ribbon的jar包,因此无法通过lb路由到指定微服务,会出现503情况。需要引入springcloud loadbalancer包-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency><!--其它包-->
<!-- 服务注册与发现  jar包 -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency><!-- nacos配置中心-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency><!-- 识别bootstrap.yml文件-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>3.0.2</version>
</dependency>

3.添加配置文件

GATEWAY-dev.yml

在这里插入图片描述

server:port: 9000
spring:application:name: GATEWAYcloud:loadbalander:  #注意这里要排除ribbonribbon:enable: falsegateway:routes:- id: search_routeuri: lb://SEARCHpredicates:- Path=/search-service/**filters:- StripPrefix=1

注解: http://localhost:9000/search-service/goods http://localhost:8083/goods

routes: 路由/路由数组   当请求满足指定的条件后转发到哪个微服务上id:    当前路由唯一的标识符 ,有默认值,也可以自定义uri: 请求最终要被转到的地址 ,lb为load balance,表示负载均衡,比如lb://SEARCH表示请求最终会转发到SEARCH服务,注意 lb://后面的<clientName>一定不要使用下划线,即不要使用比如:my_service这种形式,否则LoadBanancer不会起作用。predicates:断言,也就是条件判断,- Path=/search-service/表示当客户端访问
关键字:ui平面设计是做什么的_岳阳网络推广公司_本地免费发布信息网站_关键词搜索趋势

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: