当前位置:网站首页>設計消息隊列存儲消息數據的 MySQL 錶格

設計消息隊列存儲消息數據的 MySQL 錶格

2022-06-12 00:07:00 InfoQ

【作業要求】
1. 包括錶名、字段、索引;
2. 用文字描述設計思路和理由,例如:為什麼設計某個索引?
3. 一頁 PPT 即可。
【提示】
1. 需要考慮每個消息隊列一張錶,還是所有消息放一張錶,裏面加一個“隊列名稱”的字段。

【分析】
考慮到消息保存在db的時間可能會很長,如果放到單獨一個錶,單錶數據量遲早會大到影響db的性能,因此可以按隊列名稱進行hash,不同隊列hash到不同錶存儲;也可以單獨建立一個隊列名稱到消息錶名的映射錶每次讀寫先通過這個錶獲取到消息錶的錶名。簡單起見先用隊列名稱hash進行分錶。
【設計】
消息存儲錶:
id: 自增 主鍵
隊列名稱:索引
消息內容
插入時間

消息消費錶:
id: 自增 逐漸
client_id: 索引
隊列名稱:索引
最後消費的id


原网站

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/163/202206120006469242.html