社区
Java EE
帖子详情
SpringCloud 中zuul网关怎么接入WebSocket并转发到对应服务,并进行负载均衡。
Enchanter,
2019-04-23 06:19:55
问题如题,网上是有一些资源和资料,但是都试过了,要么没效果,要么只有部分配置,不全面,Controller那里请求都进不来(不支持tcp),求大神能整理一跳详细的,从配置到控制层接入的最新全套教程。造福一下咱们广大搬砖群众。
...全文
2230
9
打赏
收藏
SpringCloud 中zuul网关怎么接入WebSocket并转发到对应服务,并进行负载均衡。
问题如题,网上是有一些资源和资料,但是都试过了,要么没效果,要么只有部分配置,不全面,Controller那里请求都进不来(不支持tcp),求大神能整理一跳详细的,从配置到控制层接入的最新全套教程。造福一下咱们广大搬砖群众。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icbccwy
2019-08-16
打赏
举报
回复
可以加个好友,讨论一下zuul的解决办法吗
Enchanter,
2019-07-15
打赏
举报
回复
1
最终解决办法是,在网关这一层级设立webSocket服务,提前约定好服务号(1-20000)每个服务号对应一个模块方法,然后通过服务号解析去请求对应的服务和方法。大致是如此,不过弊端是,网关这一层,控流、鉴权、负载均衡等等就不能用框架的了,需要自定义逻辑去实现。
Enchanter,
2019-07-15
打赏
举报
回复
引用 4 楼 渔溪大王 的回复:
有更合适可行的方案了吗?
只能在网关这一层搭建WebSocket服务,然后通过网关的特性,去链接请求对应的服务方法
月光下的大D丶
2019-07-15
打赏
举报
回复
最好不要使用 zuul, 可以考虑 consul, zuul不支持tcp, 但是如果websocket不用tcp的话,就跟轮询没啥区别了 如果没法换掉zuul的话,可以把websocket当作一个独立的服务,推送就用队列接收和推送, 这样也没有什么问题
渔溪大王
2019-06-13
打赏
举报
回复
有更合适可行的方案了吗?
Enchanter,
2019-04-26
打赏
举报
回复
目前没有很好的解决方案,网上有一些需要前端socket.js配合才能实现的方案,耦合度太强,不适合我的架构思路。经过我冥思苦想,终于想出来了一个思路,WebSocket的通讯既然是双向的,就像情侣之间打电话,那么为什么还要分你我呢,谁跟谁打都一样,只要能通讯就可以了,那么为什么服务端不能架设在前端呢,由前端(比如node.js)来架设WebSocket的服务端,启动时到后端的制定接口把链接地址给到,然后后端通过地址去连接,当连接上后,再想怎么通讯就都可以了。
奋斗程序猿
2021-11-30
举报
回复
@Enchanter,
这种的会出现多个后端连接到统一个nodejs的websocket服务端,然后消息推送,不就接收到多个了?
Enchanter,
2019-04-26
打赏
举报
回复
顶起来~~~~~~~~~~~~~~~~~~~
Enchanter,
2019-04-24
打赏
举报
回复
自己顶~不要沉,
SpringCloud
之
Zuul
网关
不同的微
服务
一般会有不同的网络地址,客户端在访问这些微
服务
时必须记住几十甚至几百个地址,这对于客户端方来说太复杂也难以维护 如果让客户端直接与各个微
服务
通讯,可能会有很多问题: 客户端会请求多个不同的
服务
,需要维护不同的请求地址,增加开发难度 在某些场景下存在跨域请求的问题 加大身份认证的难度,每个微
服务
需要独立认证 因此,我们需要一个微
服务
网关
,介于客户端与
服务
器之间的
中
间层,所有的外部请求都会先经过微
服务
网关
。客户端只需要与
网关
交互,只知道一个
网关
地址即可,优点: 易于监控 易于认..
SpringCloud
Nacos Gateway
网关
集成 Netty的
Websocket
不成功问题记录,以及解决思路记录 【以及
websocket
代码例子】
目前项目由于导入导出业务处理时间过长;很容易连接超时,用户等待过长,体验感不佳相关业务使用http短连接请求,无法满足某些特定的业务场景,如消息通知弹窗、扫码登录故需要引入
websocket
因为原有项目
网关
是使用【
springCloud
-nacos-gateWay】,所以先项目
websocket
项目需要使用
网关
进行
统一
转发
(便于管理)gateway连接不上
websocket
服务
,
转发
失败我通过netty搭建
websocket
服务
,所以项目
中
有两个端口,一个
服务
端口,一个netty端口。
SpringCloud
- Spring Cloud 之
Zuul
和Gateway
网关
(十四)
Spring Cloud Gateway是Spring Cloud的一个子项目。而
zuul
则是Netflix公司的项目,只是Spring 将
zuul
集成在Spring Cloud
中
使用而已。因为
zuul
2.0连续跳票和
zuul
1的性能表现不是很理想,所以催生了spring团队开发了Gateway项目
Zuul
是netflix公司的项目,本质上是web servlet,基于JavaEE Servlet技术栈,使用阻塞API,处理的是http请求,没有提供异步支持,不支持任何长连接,比如
websocket
依赖:
Spring Cloud Netflix
Zuul
服务
网关
学习在 Spring Cloud
中
使用
Zuul
实现
服务
网关
,包括基本使用、请求过滤、忽略路径、前缀等功能。它是 Netflix 家族成员之一。 1 概述 由于每一个微
服务
的地址都有可能发生变化,无法直接对外公布这些
服务
地址,基于安全以及高内聚低耦合等设计,我们有必要将内部系统和外部系统做一个切割。 一个专门用来处理外部请求的组件,就是
服务
网关
,常用功能: 权限问题统一处理 数据剪裁和聚合...
WebSocket
系列12---Spring Cloud Gateway的多
WebSocket
请求
转发
实现
Linkis:https://github.com/WeBankFinTech/Linkis/wiki 一、功能点 前端Client与后台多
WebSocket
微
服务
1多N支持
WebSocket
通道全生命周期管理 二、
Zuul
的缺陷 完全不支持
转发
WebSocket
请求。 三、Spring Cloud Gateway的局限 一个
WebSocket
客户端只能将请求
转发
给一个特定的后台
服务
,无法完成一个
WebSocket
客户端通过
网关
API对接后台多个WebSoc...
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章