统一网关Gateway

2023-09-16 21:43:47

2.5 统一网关Gateway

网关功能:

  1. 身份认证和权限校验
  2. 服务路由、负载均衡
  3. 请求限流

权限控制:网关作为微服务入口,需要校验用户是是否有请求资格,如果没有则进行拦截。

路由和负载均衡:一切请求都必须先经过gateway,但网关不处理业务,而是根据某种规则,把请求转发到某个微服务,这个过程叫做路由。当然路由的目标服务有多个时,还需要做负载均衡。

限流:当请求流量过高时,在网关中按照下流的微服务能够接受的速度来放行请求,避免服务压力过大。

2.5.1 引入依赖


    <dependencies>
        <!--        网关gateway依赖-->
        <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>
    </dependencies>

2.5.2编写路由配置及nacos地址


server:
  port: 10010 # 网关端口
spring:
  application:
    name: gateway # 服务名称
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址
    gateway:
      routes: # 网关路由配置
        - id: user-service # 路由id,自定义,只要唯一即可
          # uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址
          uri: lb://userservice # 路由的目标地址 lb就是负载均衡,后面跟服务名称
          predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
            - Path=/user/** # 这个是按照路径匹配,只要以/user/开头就符合要求

网关路由的流程图

总结:

网关搭建步骤:

  1. 创建项目,引入nacos服务发现和gateway依赖

  2. 配置application.yml,包括服务基本信息、nacos地址

更多推荐

一致性思维链(SELF-CONSISTENCY IMPROVES CHAIN OF THOUGHT REASONING IN LANGUAGE MODELS)

概要思维链已经在很多任务上取得了非常显著的效果,这篇论文中提出了一种self-consistency的算法,来代替贪婪解码算法。本方法通过采样多个思维链集合,然后LLM模型生成后,选择一个最一致的答案作为最后的结果。一致性思维链认为复杂的推理问题,有不同的思维方式去解决,从而得到最终唯一答案。经过实验验证,一致性思维链

nginx 配置 ssl

1.1Nginx如果未开启SSL模块,配置Https时提示错误原因也很简单,nginx缺少http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,怎么添加模块,其实也很简单,往下看:做个说明:我的nginx的安装目录是/u

Python3.11教程6:标准库简介1——os、shutil、sys、random、time、datetime、 threading

文章目录一、文件和目录处理模块1.1os模块1.2shutil模块1.3文件通配符glob1.4stat二、sys模块2.1命令行参数列表2.2-c和-m选项2.3argparse2.3.1argparse使用逻辑2.3.2`add_argument()`语法三、数学3.1math3.2random3.3numpy生成

民安智库(第三方满意度调研公司)建立企业员工满意度测评指标体系

员工满意度是企业管理者关注的重点,企业管理层如何了解职工满意度状况?民安智库借鉴国内外研究成果,总结了企业职工满意度评价指标构建原则、研究方法及研究流程。为什么要建立员工满意度测评指标体系?在现代人力资源管理强调“以人为本”的管理理念下,企业需要尊重并重视员工的需求,并将员工视为最宝贵的、可增值的资源。企业的医务人员作

小剧场短剧影视小程序源码分享,搭建自己的短剧小程序

拥有一个属于自己的短剧小程序,是现代人追求创作梦想和与观众互动的新方式。近年来,小剧场短剧影视小程序的兴起为广大创作者提供了展示才华和与观众互动的平台。如果你也渴望搭建一个自己的短剧小程序,那么你来对地方了!在本文中,我将分享小剧场短剧影视小程序的源码,帮助你开始属于自己的短剧创作之旅。小剧场短剧影视小程序源码:为什么

leetcode 1562. 查找大小为 M 的最新分组

给你一个数组arr,该数组表示一个从1到n的数字排列。有一个长度为n的二进制字符串,该字符串上的所有位最初都设置为0。在从1到n的每个步骤i中(假设二进制字符串和arr都是从1开始索引的情况下),二进制字符串上位于位置arr[i]的位将会设为1。给你一个整数m,请你找出二进制字符串上存在长度为m的一组1的最后步骤。一组

【问题记录】解决Git上传文件到GitHub时收到 “GH001: Large files detected” 错误信息!

环境Windows11家庭中文版gitversion2.41.0.windows.1GitHub问题情况在命令行中使用git上传pdf文件到GitHub服务器时,提示了如下警告信息:原因是GitHub有一个文件大小限制,通常为100MB。如果尝试上传大于此限制的文件,GitHub将拒绝接受这个文件。如果上传大于50MB

【面试经典150 | 数组】多数元素

文章目录写在前面Tag题目来源题目解读解题思路方法一:哈希表方法二:排序方法三:摩尔投票法写在最后写在前面本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更……专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾与总结,文章结构大致如下,部分内容会有增删:Tag:介绍本题牵

淘宝问问:电商AI,重新定义购物体验

AI大模型进展的如火如荼,怎么少得了电商平台的参与,淘宝率先打响了第一枪。每一个软件都会有自己的Copilot,淘宝的就叫“淘宝问问”。用户可以在淘宝上使用“淘宝问问”来获取商品信息、价格、评价等,当前是内测版,虽有惊喜,但终究是刚刚发布内测,能力上还有待提升。淘宝问问通过语音、文字的方式进行交互,除基于通义千问的AI

Vue3 环境变量

文章目录前言一、环境变量简介二、自定义环境变量生产环境预览三、vite配置文件读取环境变量总结前言本文主要记录在项目中如何定义环境变量,达到不同环境中有不同的效果以及在vite配置文件中读取环境变量的方法。一、环境变量简介场景:各个环境下存在某些差异,比如请求地址不同,方便测试做的一些测试功能,这些在不同环境下都是不同

微信小程序如何在切换页面后原页面状态不变

在微信小程序中,如果要实现在切换页面后原页面状态不变,可以通过以下几种方式来实现:使用全局数据:可以将需要保持状态的数据存储在小程序的全局数据中,这样无论切换到哪个页面,都可以通过全局数据来获取之前保存的状态。//在app.js中定义全局数据App({globalData:{status:'default'}})在原页

热文推荐