架构之路

自研IM系统存储设计

2018-10-11  本文已影响17人  caison

1 数据操作需求

1.1 发消息

1.2 收消息

1.3 删除数据

2 存储设计

基本存储结构

消息缓存存储使用redis,结构设计如下

每个用户关联redis中的一个List和一个Sorted Set(有序Set):

发送消息操作

主要步骤如下:

实际情况中,有可能消息是重发消息,这时需要在步骤2之前查询用户已发消息List,与客户端消息ID比对判重

拉取消息操作

在APP发送消息接口,拉取未收消息接口都会拉取消息,主要步骤如下:

过期无效数据清理

3 后续扩展

上一篇 下一篇

猜你喜欢

热点阅读