
RabbitMQ
文章平均质量分 93
第七个香粽
学无止境~
展开
-
直播弹幕系统(七)- 利用动态创建队列完成直播间独立聊天
上一篇SpringBoot + STOMP + RabbitMQ(使用MQ替代Spring代理)中主要讲解了如何整合STOMP以及RabbitMQ代替Spring代理。所有的直播间共用同一个队列。就会造成直播间聊天内容窜了。因为设计起来,希望是每个直播间有一个独立的队列和交换机。这样就能做到不同直播间的人聊天内容不会乱窜。但是我们又不可能提前去为每个直播间去创建队列和交换机。(排除创建直播间时的操作),我们这里就通过动态创建和监听的方式来完成这个功能。原创 2023-01-09 19:23:57 · 944 阅读 · 4 评论 -
直播弹幕系统(六)- SpringBoot + STOMP + RabbitMQ(使用MQ替代Spring代理)
上一篇文章整合Stomp替换原生WebSocket方案探究中,完成了STOMP对原生WebSocket写法的一个平移架构替换。这篇文章则在其基础上做一些优化和操作。在设计原生WebSocket架构的时候,我们用本地缓存来存储对应的WebSocket。在进行消息交互的时候,还需要自己去拿到对应的Session信息,然后发送。如果是群发消息,还得借助for循环进行遍历发送。但是我们在整合STOMP的时候,这种群发、对于Session的管理,框架都帮我们做好了。我们只需要关注业务上的操作即可。原创 2022-12-23 19:50:22 · 1520 阅读 · 0 评论 -
直播弹幕系统(二)- 整合RabbitMQ进行消息广播和异步处理
上一篇文章 SpringCloud网关对WebSocket链接进行负载均衡 中把主要的架子搭建好了,这一篇文章就要开始写业务逻辑了。在分布式系统下,如何达到SpringBoot - WebSocket的使用和聊天室练习的效果。我们页面上,通过发送弹幕信息的时候,后端通过注解修饰的函数进行接收。这里我们统一将原始的弹幕消息丢给。让另一个专业的弹幕服务去消费处理。目的也是希望服务它只负责消息的传递和信息的维护,业务逻辑啥也不做。1.添加依赖:2.配置文件,添加RabbitMQ相关配置3.配置类:4.写一个原创 2022-12-15 18:59:25 · 3063 阅读 · 4 评论 -
直播弹幕系统(一)- SpringCloud网关对WebSocket链接进行负载均衡
创建一个项目:。1.依赖:2.:3.:4.:1.2 网关配置1.1.3 负载均衡配置1.核心负载均衡逻辑:2.获取权重的工具类:3.配置类:4.类:5.网关启动类(网关一般不需要数据源,所以记得排除掉)注意:创建一个项目:。1.依赖:2.文件:3.文件:2.配置:3.启动类:2.2 WebSocket监听先写一个简略的缓存工具类,用来缓存信息。创建类。最终的项目架构:启动好之后可以去上观看对应的服务写这个标题就是提醒大家拷贝一份上面的项目,只需要改变端口号即可。记得原创 2022-12-13 16:18:31 · 2765 阅读 · 6 评论 -
SpringBoot - 整合WebSocket时@ServerEndpoint修饰的类属性注入为null问题
最近在做一个直播弹幕系统,前期准备先用WebSocket来试试水。我们都知道,使用WebSocket只需要给对应的类加上注解即可。这个类中我还引用了一个MQ的服务类,结果调用的时候发现NPE。因此写下本篇文章做个记录。原创 2022-12-10 13:43:06 · 3385 阅读 · 5 评论 -
RabbitMQ - 安装和使用
消息传递的时候,并不是直接将信息发送到队列中,而是发送给交换机。交换机相当于一个交通枢纽,决定了将接收到的消息发送到哪个队列中。相当于直连交换机的一种升华模式。直连交换机里面一般是指定一个唯一的。运行之后,效果如下:找不到之后它会自动去拉镜像并且运行。而主题交换机则可以选取带有一定匹配规则的。到这里一个简单的生产消费过程就结束了。,都会接收对应的消息。,添加一个绑定关系。,发送弹幕的时候顺便发了个Q)例如,主题交换机绑定了以下。:交换机的类型,有四种。测试如下:(我这里整合了。原创 2022-12-10 12:35:23 · 1335 阅读 · 0 评论