add mq test
This commit is contained in:
+14
-5
@@ -30,6 +30,13 @@
|
||||
|
||||
### 关键设计决策
|
||||
|
||||
** 注意 **
|
||||
1. 消息内部字段无严格要求,但可以在业务侧进行约束
|
||||
2. 默认单条消息的最大 Payload 尺寸为 128MB
|
||||
3. 消息队列为缓存系统,应该尽可能的将批量数据放入 payload\
|
||||
4. MQ 存在的意义在于快速接受远程生产的 Message
|
||||
|
||||
|
||||
#### 1. 为什么使用单队列?
|
||||
|
||||
| 问题 | 传统多队列方案 | 本方案(单队列) |
|
||||
@@ -643,7 +650,7 @@ message_id 采用结构化格式,确保幂等性和可追溯性。
|
||||
|
||||
**格式**:
|
||||
```
|
||||
{prefix}#{app_id}#{company_id}#{platform_id}#{store_id}#{entity_type}#{entity_id}
|
||||
{company_id}#{platform_id}#{store_id}#{entity_type}#{request_time_range/formated_suffix}
|
||||
```
|
||||
|
||||
**字段说明**:
|
||||
@@ -653,7 +660,7 @@ message_id 采用结构化格式,确保幂等性和可追溯性。
|
||||
- `platform_id`:平台 ID
|
||||
- `store_id`:店铺 ID
|
||||
- `entity_type`:数据实体类型(order/product/refund/inventory)
|
||||
- `entity_id`:平台侧唯一标识(如订单号)
|
||||
- `request_time_range/formated_suffix`:数据请求的时间区间/格式化的后缀,业务侧决定即可,需要业务侧维护幂等性
|
||||
|
||||
**分隔符说明**:
|
||||
- 使用 `#` 作为分隔符(RabbitMQ message_id 字段支持任意字符)
|
||||
@@ -661,7 +668,7 @@ message_id 采用结构化格式,确保幂等性和可追溯性。
|
||||
|
||||
**示例**:
|
||||
```
|
||||
wpic-project1#dataflow#100#20#200#order#DY123456789
|
||||
wpic-project1#dataflow#100#20#200#order#2025-11-10~2025-11-15
|
||||
|
||||
解析:
|
||||
- 项目前缀: wpic-project1
|
||||
@@ -1062,7 +1069,8 @@ for platform in "${PLATFORMS[@]}"; do
|
||||
# 配置平台用户权限
|
||||
rabbitmqadmin -H $RABBITMQ_HOST -P $RABBITMQ_PORT -u $RABBITMQ_USER -p $RABBITMQ_PASS \
|
||||
declare permissions --vhost "$VHOST" --user "user_${platform}" \
|
||||
--configure "" --write "^${platform}\\.(exchange|errors\\.exchange)$" \
|
||||
--configure "^${platform}\\.(exchange|errors\\.exchange)$" \
|
||||
--write "^${platform}\\.(exchange|errors\\.exchange)$" \
|
||||
--read "^${platform}\\.errors\\..*$"
|
||||
echo "✓ 配置用户权限"
|
||||
done
|
||||
@@ -1310,7 +1318,8 @@ rabbitmqadmin -H $RABBITMQ_HOST -P $RABBITMQ_PORT -u $RABBITMQ_USER -p $RABBITMQ
|
||||
# 配置权限
|
||||
rabbitmqadmin -H $RABBITMQ_HOST -P $RABBITMQ_PORT -u $RABBITMQ_USER -p $RABBITMQ_PASS \
|
||||
declare permissions --vhost dataflow-app --user "user_lazada" \
|
||||
--configure "" --write "^lazada\\.(exchange|errors\\.exchange)$" \
|
||||
--configure "^lazada\\.(exchange|errors\\.exchange)$" \
|
||||
--write "^lazada\\.(exchange|errors\\.exchange)$" \
|
||||
--read "^lazada\\.errors\\..*$"
|
||||
```
|
||||
|
||||
|
||||
@@ -10,5 +10,7 @@
|
||||
8. 与 Tools 对比业务差异
|
||||
9. 测试实时数据分析功能
|
||||
10. 实时订单的数据展示可行性?
|
||||
11. 移动订单生产者到统一的生产者目录,使用接口进行约束
|
||||
12. 消息推错进行清理 接口
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user