直播间or语音房分布式im消息(弹幕)解决方案 推与拉

在构建分布式直播系统时,面临弹幕和礼物消息的实时性挑战。本文探讨了推(推送)和拉(轮询)两种策略:推利用消息队列在服务器间同步,拉则依赖内存缓存和心跳请求。两种方案各有优劣,选择取决于具体业务需求,如历史记录需求等。
摘要由CSDN通过智能技术生成

在开发分布式系统中要一个直播间的,需要考虑 弹幕/礼物消息的实时性。

在多台服务器的情况下如何考虑实时性的问题?

推与拉

先梳理一下流程

用户1发送了一个弹幕 到666的直播间 ,然后在666直播间的所有人都收到这个消息

如果选择推的话需要做哪些准备什么?

消息队列

该怎么做?

开始进入拆分开发阶段

1.假设用户1在服务器A时 发送在666直播间一个消息后,服务器开始处理 开启一个协程 自旋发送 在服务器A 666直播所有人收到这个消息,

2.用消息队列往 服务器B 服务器C 服务器D 服务器E

3 当各个服务器收到这个消息队列的时候  各个服务器发送这条消息给在 666直播间的人。

图解开发步骤

 

如果选择拉的话需要做哪些准备什么?

消息队列 内存缓存库(go-cache/freecache)

该怎么做?

开始进入拆分开发阶段

1.假设用户1在服务器A时 发送在666直播间一个消息后,服务器开始处理 开启一个协程 将消息放入内存缓存中2秒过期时间,将有心跳请求并且在666直播间的用户,读取内存缓存(读取2秒内的数据) 然后塞入到protobbuf 响应给用户,

2.再通过消息队列的形式

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值