用户通过客户端发送弹幕,通过后端服务把弹幕消息发送到Kafka。使用Kafka消息我们就可以进行流量削峰,弹幕消息有时是成千上万 / 秒,把存储弹幕消息的任务通过消息队列缓存起来,一个个执行,减少服务器瞬时的高压力。 发送到Kafka后,负责监听弹幕Kafka消息的后端服务会把弹幕消息写入Redis。 代码语言:java 复制 // 监听...
所以我们可以使用消息中间件或者Redis的发布订阅模式,比如使用消息中间件RocketMq,有一个用户发送了一条弹幕,那么就发送一条消息到MQ中,所有服务都接收到这条消息之后,然后就可以拿到本地所有用户的Session,再进行发送。 4:弹幕架构演进 不知道大家有没有想过这样一个问题,假设我们现在有10台服务器,每...
例如,我们可以生成一个饼状图,展示不同类型弹幕的分布情况。 45%30%25%弹幕类型分布赞同反对搞笑 结尾 设计一个弹幕系统是一项复杂但又富有挑战性的任务。从用户输入到数据存储,再到信息实时传递,每个环节都需要精心考量。通过合理的架构设计和后端服务实现,我们能够为用户提供流畅的弹幕体验,提升用户的参与感与互动性...
采用推模式 最新的消息可以直接采用长连接实时推送, 因此用户发送弹幕到消息队列后,消费者做两件事 一是将消息写到redis,(可能有人说redis内存会爆,但是这是弹幕系统,弹幕数据每隔一段时间删除即可) 二是将消息写到弹幕的推送服务器(推模式),推服务器的作用是从 Redis 中获取用户和直播间的订阅关系以及长连接信息...
千万级弹幕系统的架构设计 不重复造轮子。技术难点 内核瓶劲 推送量大:100W在线 * 10条/每秒 = 1000W条/秒内核瓶颈:linux内核发送TCP的极限包频 ≈ 100W/秒 锁瓶劲 需要维护在线用户集合(100用户在线),通常是一个字典结构推送消息即遍历整个集合,顺序发送消息,耗时极长推送期间,客户端仍然正常的上下限,...
为了更好的支持东南亚直播业务,产品设计为直播业务增加了弹幕。第一期弹幕使用腾讯云支持,效果并不理想,经常出现卡顿、弹幕偏少等问题。最终促使我们开发自己的弹幕系统。性能要求是需要支持,单房间百万用户同时在线。 问题分析 按照背景来分析,系统将主要面临以下问题: ...
为了更好的支持东南亚直播业务,产品设计为直播业务增加了弹幕。第一期弹幕使用腾讯云支持,效果并不理想,经常出现卡顿、弹幕偏少等问题。最终促使我们开发自己的弹幕系统。性能要求是需要支持,单房间百万用户同时在线。 基于Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC动态...
b站的弹幕系统设计, 视频播放量 2475、弹幕量 5、点赞数 31、投硬币枚数 19、收藏人数 166、转发人数 15, 视频作者 咕咕青小蛙, 作者简介 OneStepOffer官方账户,相关视频:OneStepOffer 搜索系统系统设计,自我介绍这么说,先打败一半竞争者!,onestepoffer 系统设计第三
直播弹幕列表要怎么design #程序员 #java #计算机 #系统设计 #后端 - JavaSouth南哥于20240923发布在抖音,已经收获了1559个喜欢,来抖音,记录美好生活!
这篇博客讨论了设计一个70万在线人数的弹幕系统所面临的问题,并提出了相应的解决方案。主要问题包括带宽压力、弱网导致的弹幕卡顿和丢失、性能与可靠性等。为了解决这些问题,博客提出了以下解决方案: 1.服务拆分:将发送弹幕和查询弹幕的业务逻辑拆分为独立的服务,以确保服务的可用性和高效性。