网关--->(路由断言工厂)微服务-->ajax跨域


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


网关


为什么要使用网关

在这里插入图片描述

如果订单 用户微服务搭了集群 前端 不知道访问那个接口


什么是网关

网关是介于微服务和前端之间的一个组件。

前端请求的统一入口,前端的所有请求,必须经过网关,由网关转发到指定的服务;

有了网关后,前端是不允许直接访问微服务。

在这里插入图片描述


网关的作用?

路由:将前端的请求转发到后端指定的微服务。
优势
前端只需要知道网关地址即可,不需要知道微服务的地址,减少了前后端交互复杂性
避免将服务地址直接暴露给前端,不安全:
过滤器:
认证:判断用户是否已经登录
鉴权:(必须先登录)判断用户是否有指定的权限
缓存:
限流: 避免并发过大,压死微服务.


网关的技术实现?

在SpringCloud中网关的实现包括两种:
spring cloud gateway:SpringCloudGateway是Spring cloud自己开发的产器则是基于Spring5中提供的WebFlux,属于响应式编程的实现具备更好的性能。
zuul:Zuul是Netflix公司产品,目前已经停止维护,性能也比较差 停止更新了


网关的快速入门?

在这里插入图片描述
前端发送请求路由到userservice微服务

搭建网关服务

搭建网关服务的步骤:
1:创建新的module,引入SpringCloudGateway的依赖和nacos的服务发现依赖:

<!--网关依赖-->
        <dependency>
<groupId>org.springframework.cloud</groupId>
              <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <!--nacos服务注册中心的发现依赖-->
        <dependency>
              <groupId>com.alibaba.cloud</groupId>
             <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> 
         </dependency>

2:编写路由配置及nacos地址

server:
  port: 81 # 网关路由端口
spring:
  application:
    name: gateway # 服务名称  配置文件中的微服务名称
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址  启动之后访问 localhost:8848/nacos/index.html 查看网关  localhost:81/user/1 网关路由
      
    gateway:
      routes: # 网关路由配置  集合  -  就行
        - id: user-service # 路由id,自定义,只要唯一即可  随便写
          # uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址
          uri: lb://userservice # 路由的目标地址 lb就是负载均衡,后面跟服务名称 
          predicates: # 路由断言,也就是判断请求是否符合路由规则的条件 去路由到指定的微服务
            - Path=/user/** # 这个是按照路径匹配,只要以/user/开头就符合要求

前端访问网关,第一级路径是user 就路由到user service 微服务
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值