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、弹幕系统架构设计

18- 弹幕系统设计_第1张图片

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

2、SpringBoot整合WebSocket

你可能感兴趣的:(06-模仿B战开发,服务器,运维)