当前位置: 首页 > news >正文

18- 弹幕系统设计

1、弹幕系统设计

场景分析:客户端针对某一视频创建了弹幕,发送后端进行处理,后端需要对所有正在观看该视频的用户推送该弹幕。

1.1、实现方式

使用短连接进行通信或使用长连接进行通信。

1.1.1、短连接实现方案

所有观看视频的客户端不断轮询后端,若有新的弹幕则拉取后进行显示

短连接实现方案的缺点:轮询的效率低,非常浪费资源(因为HTTP协议只能由客户端向服务端发起,故必须不停连接后端。

1.1.2、长连接实现方案

采用WebSocket进行前后端通信。

为什么要用WebSocket:HTTP 协议的通信只能由客户端发起,做不到服务器主动向客户端推送信息。

1.1.3、WebSocket简介

WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(Full-Duplex)通信。

全双工(Full-Duplex)通信:客户端可以主动发送信息给服务端,服务端也可以主动发送信息给客户端。

WebSocket协议优点:报文体积小、支持长连接。

1.2、弹幕系统架构设计

         我们采用异步 + mq实现向数据库中存储数据。当然也可以使用定时任务将Redis中的数据存储到数据库中。

2、SpringBoot整合WebSocket

http://www.lryc.cn/news/89467.html

相关文章:

  • 字节软测划水四年,内容过于真实......
  • Mybatis介绍
  • Docker理论基础
  • MySQL数据库之存储引擎
  • 中介效应分析全流程汇总
  • 论文阅读:Multimodal Graph Transformer for Multimodal Question Answering
  • 关于compile() 函数简单实用示例
  • Deep Frequency Filtering for Domain Generalization论文阅读笔记
  • 视频里的声音怎么转换成音频?
  • 1.1. Java简介与安装
  • Elasticsearch 8.X 性能优化参考 —— 筑梦之路
  • 通过强化学习走直线理解基本概念
  • Java字符流
  • 2023年上半年信息系统项目管理师上午真题及答案解析
  • LeetCode 739 每日温度
  • 介绍几种常见的运维发布策略
  • C++ QT QDBus进阶用法。
  • 2023-5-26 LeetCode每日一题(二进制矩阵中的最短路径)
  • 博客系统后端设计(七) - 实现显示用户信息与注销功能
  • Spring5 学习笔记
  • leetcode--分隔链表(java)
  • 使用 AD8232 ECG 传感器和 ESP32 进行基于物联网的 ECG 监测
  • 【Linux初阶】基础IO - 文件操作(使用系统接口实现) | vim批量注释代码
  • 网络安全之信息收集
  • ModuleNotFoundError: No module named ‘_lzma‘
  • 标点符号相关的英语单词
  • MyBatis的部分知识点
  • PAT A1089 Insert or Merge
  • 研发工程师玩转Kubernetes——创建一个测试容器
  • FPGA - 7系列 FPGA内部结构之CLB -03- CLB相关原语以及应用