一、实时性
- 保证消息实时触达是互动场景的必备能力。
- 通常通过轮询技术与长连接技术实现。
二、可靠性
- 不丢消息:“丢消息”是互动中让人难以接受的 Bug,某些场景下可能导致业务可用性差,甚至不可用的情况。比如直播间“全员禁言”的信令消息丢失,就可能导致直播室不可控的一些情况。
- 消息不重复:消息重复不仅会对用户造成不必要的骚扰和困惑,可能还会导致比较严重的业务异常,比如直播间“送礼物”的消息由于某种原因被重复发出,处理不妥的话可能会导致用户损失。
- 通常通过ACK机制来保证。
三、一致性
- 消息的一致性一般来是指:同一条消息,在多人、多终端需要保证展现顺序的一致性。
- 通常通过消息序号来保证。
四、安全性
- 从系统使用安全性的角度来看,首先是要求“数据传输安全”,其次是要求“数据存储安全”,最后就是“消息内容安全”。
- 这方面通过加密等方法来实现,成熟方案有HttpDNS 和 TLS等。