首页 > 其他分享 >配置springcloud 网关gateway 转发websocket请求

配置springcloud 网关gateway 转发websocket请求

时间:2024-02-17 18:12:30浏览次数:19  
标签:网关 websocket 请求 springcloud uri ws 服务 id

网关是整个项目的统一入口

这是直接访问消息服务的请求路径 端口号是20007

WebSocketService.init("ws://127.0.0.1:20007/ws/" + 用户id)

显然这样是不符合微服务的方案,所有请求必须经过网关处理,转发到各个服务之中

所以我们需要在网关中的yml或者nacos中添加以下配置

spring:
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true # 启用服务发现
          lower-case-service-id: true
      routes:
        - id: 消息模块-websocket
          uri: lb:ws://cloud-message
          # uri: lb:ws://127.0.0.1:20007
          predicates:
            - Path=/ws/**

  

  1. id: id是一个字符串,用于唯一标识一个路由。它是可选的,但建议为每个路由提供一个有意义的ID,以便于管理和诊断。

  2. uri: uri属性指定了下游服务的URL。它可以是一个绝对URL,也可以是一个相对于网关的相对URL。在微服务架构中,通常会使用服务注册和发现机制(如Eureka)来动态获取服务实例的地址。

  3. predicates: predicates是一个条件列表,用于匹配传入的HTTP请求。每个条件都是一个谓词(Predicate),可以基于请求的各种属性进行匹配,例如请求方法(GET、POST等)、路径模式、查询参数、头信息等。如果请求满足所有谓词条件,那么它就会被路由到该路由配置的下游服务。

  4. filters: filters是一个过滤器列表,用于在请求被转发到下游服务之前或响应返回给客户端之前对请求和响应进行处理。过滤器可以是内置的(如StripPrefix、Retry等),也可以是自定义的。过滤器可以修改请求和响应的内容、添加或删除头信息、执行安全检查等。

前端修改为 端口号改为网关20000

WebSocketService.init("ws://127.0.0.1:20000/ws/" + 用户id)

打开浏览器开发者工具效果 101 成功

 

效果图

 

 

标签:网关,websocket,请求,springcloud,uri,ws,服务,id
From: https://www.cnblogs.com/xhj-z/p/18018195

相关文章

  • Vite+Vue根据环境配置Websocket地址
    前言上回说到,利用vite加载不同mode下的配置文件,可以实现不同运行环境下的参数配置。在前端应用中经常使用到Websocket,其地址同样可以在.env中间中配置。代码vite.config.ts代码的执行是在createApp之前,不可以在vite.config.ts中使用例如pinia、router等组件。可以使用import.me......
  • 抛弃Spring Cloud Gateway,得物 使用Netty架构100Wqps网关
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • 面向网关、辅助和自动驾驶系统的汽车域控制器参考设计
    面向网关、辅助和自动驾驶系统的汽车域控制器参考设计说明当今道路上的分布式车辆架构使用单个ECU,缺少处理能力和高速接口,无法应对新兴汽车架构的复杂任务和数据移动需求。更高级别的功能需要正确组合DMIPS、数据带宽和功效。Jacinto™7处理器系列中的DRA829V和TDA4VM处......
  • Java微服务SpringCloud+Uniapp+Vue3+Element Plus开源BizSpring商城
    产品介绍BizSpring电商平台概述BizSpring电商平台,是基于最新SpringCloud微服务架构开发的多语言电商平台,使用领先的Vue3.0+ElementPlus+uniapp技术开发的移动全端业务、实现了多平台同步构建及建设的解决方案。应用发布基于Uni-app,实现跨多个平台(H5、公众号、头条、抖音......
  • 使用ocelot 配置网关
    3.1场景描述建3个站点,2个微服务站点,1个网关微服务1:https://localhost:7227/微服务2:https://localhost:7019/网关:https://localhost:7055/在浏览器里访问 https://localhost:7227/api/Product/test1会输出test1在浏览器里访问https://localhost:7019/api/order/test2会输......
  • 什么是微服务的网关?
    假如有10个微服务,地址分部是:http://service1.abc.comhttp://service2.abc.comhttp://service3.abc.com................................................http://service10.abc.com网关:http://gatway.abc.com (在这个站点的appsetting.json里配置和微服务之间的映射)最后......
  • Profinet转CANopen主站网关与堡盟编码器通讯案例
    Profinet转CANopen主站网关与堡盟编码器通讯案例Profinet转CANopen主站网关(XD-COPNm20)为CPU与堡盟编码器的通讯提供了CANopen协议向Profinet协议转换互通的桥梁。CANopen是一种基于CAN总线的通讯协议,它被广泛应用于工业自动化领域,而Profinet是一种以太网协议,其优点是高速传输和......
  • WebSocket 协议 message, ping , Pong, 消息
    以前一直不明白,WebSocket 已经有了message回调函数,可以接收任何的消息,按理说,ping和pong也只是  message 众多消息类型中的两个消息特里,直到看到 <<WebSocket协议 >>的定义,才明白,为什么了 一、数据帧(DataFraming)WebSocket协议中,数据是通过数据帧来传递的,协议......
  • SpringCloud工程添加openfeign使用服务之间调用
    SpringCloud服务之间的调用可以采用openfeign,今天这里就简单记录下需要做的步骤。前置条件就是微服务都建好了,并且两个服务都注册到nacos上,这里用两个微服务模块。简单描述:请求A模块,然后去调用B模块数据,最后从A模块接口返回。需要在A模块添加openfeign的依赖和service写好接口,B......
  • profinet转CANopen网关在博图的profinet从站配置步骤
    profinet转CANopen网关在博图的profinet从站配置步骤Profinet转CANopen网关(XD-COPNm20)是一种用于实现CANopen设备与Profinet网络连接起来进行设备之间的数据交换和通信的设备。CANopen和Profinet是两种常见的工业通信协议,它们在自动化控制系统中有着广泛的应用。因此CANopen转Pro......