websocket项目设计

来源:互联网 发布:鼓谱软件 编辑:程序博客网 时间:2024/06/07 15:09
websocket 项目设计

一、安全性设计
1、身份验证
使用userToken身份验证
步骤一:验证登录账户与密码,向服务器换取限时token
步骤二:HTTP协议与服务器进行token验证,验证通过切换WS协议
2、连接周期
服务器具有资源守护状态,在与服务器进行websocket 连接过程中为避免不必要的资源浪费通常由客户端与服务端共同设计心跳时间,心跳包遵循双方协议设计。
3、端口防护
1)服务器IP白名单
2)IP连接数量限制
4、加密
生产者与消费者之间的消息、心跳包一切信息通常使用 自定义协议体通过指定编码传输,未设计成RSA、MD5系列的加密方法主要考虑到加密过程设计大量计算消耗时间较多,在要求不严格的商业体中可以忽略此方法。

二、数据处理
1、缓存
通信模式生产出的消息体为0~+∞,因此在消息的存储上需要用到缓存进行处理,之后通过定时任务写入相关数据库产品中。(不做消息备份可以不使用)
2、队列
为更好的将websocket体系建立完全,通常需要设计离线消息处理,即为生产者的消息存储和消费者的代取。
三、性能设计
1、线程池
2、负载均衡
四、体验优化
1、敏感字体
2、表情
3、文件支持
(这里涉及到utp的部分,下节介绍)
五、系统监控
1、log
2、IP防护
3、内存