当前位置:网站首页>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
边栏推荐
- ARM 交叉编译
- Unity's primary method for implementing PlanarReflection under the BuildIn rendering pipeline
- 【SemiDrive源码分析】系列文章链接汇总(全)
- After specifying set 'execution.savepoint.path', restart flinksql and report this error
- win10 fixed local IP
- 普通用户无法访问hgfs目录
- "Youth Pie 2": The new boyfriend stepped on two boats, and the relationship between Lin Miaomiao and Qian Sanyi warmed up
- The fledgling Xiao Li's 114th blog project notes: Wisdom cloud intelligent flower watering device combat (3) - basic Demo implementation
- Basic use of vim - command mode
- Euler system (euleros): upgrade Mysql
猜你喜欢

The fledgling Xiao Li's 114th blog project notes: Wisdom cloud intelligent flower watering device combat (3) - basic Demo implementation

MySQL4

带wiringPi库在unbutu 编译 并且在树莓派运行

How is the tree structure of the device tree reflected?

【入门教程】Rollup模块打包器整合

Flutter “Hello world“ 程代码

Flink deploys and submits jobs

普通用户无法访问hgfs目录

MYSQL-Batch insert data

Four implementations of
batch insert: have you really got it?
随机推荐
By CSDN, torn
设备树的树形结构到底是怎样体现的?
Raspberry pie arm version of GCC installed configuration and environment variables
MySQL3
The fledgling Xiao Li's 112th blog project notes: Wisdom cloud intelligent flower watering device actual combat (1) - basic Demo implementation
《少年派2》:新男友竟脚踩两只船,林妙妙与钱三一感情回温
Completely closed Chrome updated and in the top right corner of the tip
Talking about hardware device computing storage and data interaction
Basic implementation of vector
Dart 命名参数语法
【分层强化学习】HIRO:Data-Efficient Hierarchical Reinforcement Learning
[SemiDrive source code analysis] series article link summary (full)
Introduction to the Elastic Stack
Input输入框光标在前输入后自动跳到最后面的bug
从设备树(dtb格式数据)中解析出bootargs
软件测试面试(三)
Compiled on unbutu with wiringPi library and run on Raspberry Pi
Character encoding and floating point calculation precision loss problem
The device node structure is converted into a platform_device structure
大佬们,MySQL cdc source在增量过程中回收 replication slave 和 r