当前位置:网站首页>架构实战营模块 8 作业
架构实战营模块 8 作业
2022-07-31 19:26:00 【InfoQ】
设计消息队列存储消息数据的 MySQL 表格
【作业要求】
1. 包括表名、字段、索引;
2. 用文字描述设计思路和理由,例如:为什么设计某个索引?
3. 一页 PPT 即可。
【提示】
1. 需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段。
一、设计方案
考虑到 MySQL 单表性能,所以采用每个消息队列单独保存一张数据表。
- 优点:
- 队列之间解耦,并且数据隔离。
- 实现简单、性能高。
- 缺点:
- 需要的资源多于单表。
- 维护成本略高于单表方案。
1.1 表设计
1.1.1 表名规则
表名:
{topic}_message
说明:每个队列一张表,数据表在创建 topic 时生成。
1.1.2 字段设计

1.2 处理逻辑
1.2.1 生产消息
- 消息队列服务获取TOPIC名称和消息体后进行处理。
- 根据表名规则由TOPIC名称找到对应的消息表进行数据写入,如未找到表则创建新表。
1.2.2 消费消息
消费者节点轮询拉取消费状态为
未消费
的数据进行消费。
消费成功后更新
消费时间
并且修改消费状态为
已消费
。
边栏推荐
- flyway的快速入门教程
- pytorch lstm时间序列预测问题踩坑「建议收藏」
- spark报错OutOfMemory「建议收藏」
- 【AcWing】第 62 场周赛 【2022.07.30】
- 第七章
- Returns a zero-length array or empty collection, do not return null
- C# 之 扑克游戏 -- 21点规则介绍和代码实现
- PCB stackup design
- 学生管理系统第一天:完成登录退出操作逻辑 PyQt5 + MySQL5.8
- INeuOS industrial Internet operating system, the equipment operational business and "low code" form development tools
猜你喜欢
随机推荐
Taobao/Tmall get Taobao password real url API
Verilog实现占空比为5/18的9分频
matplotlib ax bar color 设置ax bar的颜色、 透明度、label legend
Unity 之 音频类型和编码格式介绍
有一说一,外包公司到底值不值得去?
MySQL---sort and pagination
MySQL---聚合函数
Flex布局详解
Architect 04 - Application Service Encryption Design and Practice
广汽本田安全体验营:“危险”是最好的老师
The server encountered an internal error that prevented it from fulfilling this request的一种解决办法[通俗易懂]
抖音根据关键词取视频列表 API
第七章
PCB叠层设计
【AcWing】The 62nd Weekly Match 【2022.07.30】
【NLP】什么是模型的记忆力!
架构实战营模块八作业
API for JD.com to obtain historical price information of commodities
京东按关键字搜索商品 API
MySQL---operator









