消息模型分为:
消息写扩散模型
消息读扩散模型
什么是消息写扩散模型?
以一个万人群举例,成员发布一条消息,这条消息需要存储到每个成员自己的消息队列里,也就是一条消息需要存储一万份。(典型代表:微信)
优点:
用户读取自己消息的逻辑非常简单
缺点:
存储压力大,不适合做大群
每次获取离线消息是获取完用户整个消息队列里的消息,如果消息过多,会导致获取离线消息很慢。
什么是消息读扩散模型?
以一个万人群举例,成员发布一条消息,这条消息只存储一份,如果有多个群,成员获取消息需要带上群的标识分别读取群内消息。
优点:
写逻辑简单,存储压力小,适合做大群
获取离线消息很快,因为只需要获取每个会话的最近几条即可
缺点:
读取复杂