当前位置:网站首页>Message Queuing Message Storage Design (Architecture Camp Module 8 Jobs)
Message Queuing Message Storage Design (Architecture Camp Module 8 Jobs)
2022-08-01 03:39:00 【InfoQ】
Message table

Consume information table
consume_log table
- We support multiple consumer groups, each consumer group shares a consumption progress record, so the table needs to have a group field to distinguish which consumer isThe consumption record of the group;
- The consumption offset is the most important, which records the consumption data, which is identified by offset, that is, messageThe msg_id in the table, because msg_id is strictly increasing under one data group and one topic;
Index Analysis
Send messages
- CustomersThe end completes the shard routing, assigns it to a shard, and sends the message data
- The message queue server finds the corresponding message table according to the topic message_{topic}, and then insert data, msg_id auto-increment
Consume message
- The client completes the routing of the fragmentation and sends thePull the message from the corresponding server, bring the parameters topic, group
- to query the consumer_log table, find the corresponding data through the index according to topic, group, and take out the offset
- Query the corresponding message table according to the offset, find the next offset record through the primary key id, take it out and prepare to return
- Update the offset information of consumer_log
- return data
边栏推荐
- [SemiDrive source code analysis] series article link summary (full)
- win10 固定本机IP
- How to download the Keil package
- Guys, MySQL cdc source recycles replication slave and r in incremental process
- 黑客到底可以厉害到什么程度?
- MySQL3
- 这个地图绘制工具太赞了,推荐~~
- 【消息通知】用公众号模板消息怎么样?
- Flutter “Hello world“ 程代码
- 初出茅庐的小李第112篇博客项目笔记之机智云智能浇花器实战(1)-基础Demo实现
猜你喜欢

这个地图绘制工具太赞了,推荐~~

A way to deal with infinite debugger

MYSQL logical architecture
![[Message Notification] How about using the official account template message?](/img/4d/5b47722d1f5ec1cae73fc8d930a35d.jpg)
[Message Notification] How about using the official account template message?

彻底关闭Chrome浏览器更新及右上角的更新提示

ARM cross compilation

【uniCloud】云对象的应用与提升

How is the tree structure of the device tree reflected?

对无限debugger的一种处理方式

JS new fun(); 类与实例 JS基于对象语言 只能通过书写构造函数充当类
随机推荐
Browser download shortcut to desktop (PWA)
leetcode6132. 使数组中所有元素都等于零(简单,周赛)
MYSQL Keyword Explain Analysis
Hackers can how bad to what degree?
Character encoding and floating point calculation precision loss problem
Dart 命名参数语法
在打开MYSQL表时,有的可以显示编辑,有的没有,如何设置。
Elastic Stack的介绍
Chinese version of Pylint inspection rules
情人节浪漫3D照片墙【附源码】
Input input box cursor automatically jumps to the last bug after the previous input
Unknown Bounded Array
Weekly Summary (*67): Why not dare to express an opinion
2022 CSP-J1 CSP-S1 Round 1 Preliminary Competition Registration Guide
【分层强化学习】HIRO:Data-Efficient Hierarchical Reinforcement Learning
IDEA does not recognize the module (there is no blue square in the lower right corner of the module)
TypeScript simplifies running ts-node
Which interpolation is better for opencv to zoom in and out??
手写二叉查找树及测试
The device node structure is converted into a platform_device structure