系統都會有系統公告或系統消息,這是一個常見的業務。系統管理員在後臺新建一條系統消息,選擇部分用戶(用戶羣組)或全部用戶,用戶收到消息後,點擊閱讀,該用戶對當前消息的讀取狀態將變爲已讀。3d
假設系統中有100萬用戶量,咱們發一條系統消息不可能給每一個用戶寫入一條消息或消息關係記錄。blog
需求:後臺
一、系統消息須要分發至系統全部用戶、或指定羣組用戶im
二、用戶對系統消息有未讀、已讀等狀態數據
誤區:img
一、爲每一個接受用戶寫入一條消息co
二、爲每一個用戶寫入消息關係記錄(即狀態:如未讀、已讀)消息
解決文案(僅供參考):閱讀
一、創建消息表、用戶消息關係表系統管理
二、消息只有一條
三、用戶消息關係表無記錄即爲未讀,當用戶觸發閱讀後,將用戶標識與消息標識關聯寫入到用戶消息關係表(即已讀)
具體數據模型以下: