1. 方案描述
该方案用于系统站内信功能模块在百万级用户量情况下的效率问题,只是后台管理员给前台用户发送站内信,用户与用户之间的发送不在讨论内。
2. 方案详情
假设系统的用户量达到了200W,活跃用户为10W,系统后台管理员要给全体用户发送一条感谢信,如果按照之前的存储方式,消息队列需要插入200W条数据,可是除了活跃的10W用户,其他用户都忘了自己有该网站的账号,他都有可能不再登陆该网站了,数据库保存的消息队列无意义了。
现表结构如下:
消息表
编号 ID NUMBER
标题 TITLE VARCHAR2(50) 50
正文 CONTENTS VARCHAR2(1000)
发送状态 STATUS NUMBER
发送日期 SEND_DATE DATE
发送方式 SEND_TYPE NUMBER
最新创建人 FCU VARCHAR2(50) 50
更新人 LCU VARCHAR2(50) 50
创建时间 FCD DATE
最新更新时间 LCD DATE
删除标记 DELETE_TAG CHAR(1) 1
消息容器编号 ID NUMBER
站内信ID MESSAGE_ID NUMBER
收件人ID MEMBER_ID NUMBER
是否已读 READ_STATUS NUMBER
会员表
主键 id NUMBER
会员编号 u