相关文章推荐
打盹的课本  ·  The WebSocket API ...·  1 周前    · 
近视的手套  ·  【中海时光境】工抵270万起,买深实验光明学 ...·  1 年前    · 
不爱学习的火车  ·  Sultanate of Oman and ...·  1 年前    · 
闯红灯的台灯  ·  Ubuntu v20系统怎么关闭自动锁屏? ...·  1 年前    · 
至今单身的橙子  ·  硬件设计---巴伦的选型、分类及应用_巴伦变 ...·  1 年前    · 
面冷心慈的开心果  ·  广东省惠州市惠城区杨某某信访事项督查情况-督查事项·  2 年前    · 
Code  ›  一个注解实现 WebSocket 集群方案,这样玩才爽!开发者社区
集群技术 websocket
https://cloud.tencent.com/developer/article/2277253
闷骚的黑框眼镜
1 年前
码猿技术专栏

一个注解实现 WebSocket 集群方案,这样玩才爽!

腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
码猿技术专栏
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > 一个注解实现 WebSocket 集群方案,这样玩才爽!

一个注解实现 WebSocket 集群方案,这样玩才爽!

作者头像
码猿技术专栏
发布 于 2023-05-01 15:23:24
247 0
发布 于 2023-05-01 15:23:24
举报
文章被收录于专栏: 码农那些事!!! 码农那些事!!!

WebSocket 大家应该是再熟悉不过了,如果是单体应用确实不会有什么问题,但是当我们的项目使用微服务架构时,就可能会存在问题

比如 服务A 有两个实例 A1 和 A2 ,前端的 WebSocket 客户端 C 通过网关的负载均衡连到了 A1 ,这个时候当 A2 触发消息发送的逻辑,需要将某个消息发送给所有的客户端时, C 就接受不到消息

这个时候我们很快就能想到一种最简单的解决方案,就是把 A2 的消息转发给 A1 , A1 再把消息发送给 C ,这样 C 就能收到 A2 发送的消息了

用法

接下来让我们看看这个库的用法

首先我们需要在启动类上添加一个注解 @EnableWebSocketLoadBalanceConcept

@EnableWebSocketLoadBalanceConcept
@EnableDiscoveryClient
@SpringBootApplication
public class AServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(AServiceApplication.class, args);

接着我们在需要发送消息的地方注入 WebSocketLoadBalanceConcept 就可以愉快的跨实例发消息啦

@RestController
@RequestMapping("/ws")
public class WsController {
    @Autowired
    private WebSocketLoadBalanceConcept concept;
    @RequestMapping("/send")
    public void send(@RequestParam String msg) {
        concept.send(msg);
 
推荐文章
打盹的课本  ·  The WebSocket API (WebSockets) - Web APIs | MDN
1 周前
近视的手套  ·  【中海时光境】工抵270万起,买深实验光明学校,82-109平精装3-4房_项目_楼盘_配套
1 年前
不爱学习的火车  ·  Sultanate of Oman and Oracle Extend Collaboration to Establish Oman’s First Hyperscale Cloud Region
1 年前
闯红灯的台灯  ·  Ubuntu v20系统怎么关闭自动锁屏? Ubuntu锁屏的设置方法_Ubuntu/Debian_脚本之家
1 年前
至今单身的橙子  ·  硬件设计---巴伦的选型、分类及应用_巴伦变压器阻抗比-CSDN博客
1 年前
面冷心慈的开心果  ·  广东省惠州市惠城区杨某某信访事项督查情况-督查事项
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号