架构:
非 P2P类:A → IM服务器 → B
P2P类:A → B (QQ的实现方式据说是这样,UDP协议,有信息补偿机制)
实时性
XMPP:XML传输
Socket:实时
看架构图
IM教程 8.智能心跳
可靠性
1.不丢消息:
2.消息不重复:
看架构图,分析每一步丢失的可能性和解决方案
IM教程 4.可靠性
一致性
信息顺序(时序一致性)
首先:如何找到时序基准。
其次:时序基准的可用性是不是可以。
最后:有了时序基准,还有其他的误差吗,有什么办法可以减少这些误差?
对于如何保持消息的时序一致性的关键点在于:需要找到一个时序基准来标识每一条消息的顺序。
安全性
敏感信息不泄露
消息传输安全性
短时间对服务器做大量请求,可做限制处理或要求重新登录
二进制私有协议
采用 TLS 协议来对业务数据进行保护,TLS 巧妙地把“对称加密算法”“非对称加密算法”“秘钥交换算法”“消息认证码算法”“数字签名证书”“CA 认证”进行结合
消息存储安全性
分布式,分库
加盐加密,分布式存盐值和账密
(追求极致安全性的)端到端加密(公私钥) + 消息内容不在服务端存储
消息内容安全性
一般都依托于第三方的内容识别
1.建立敏感词库,针对文字内容进行安全识别。
2.依托图片识别技术来对色情图片和视频、广告图片、涉政图片等进行识别处置。
3.使用“语音转文字”和 OCR(图片文本识别)来辅助对图片和语音的进一步挖掘识别。
4.通过爬虫技术来对链接内容进行进一步分析,识别“风险外链”。