update mq
This commit is contained in:
+12
-12
@@ -121,21 +121,17 @@ for dtype in "${DATA_TYPES[@]}"; do
|
||||
echo "✓ 绑定: main.exchange → ${dtype}.queue (routing_key: ${dtype%s}.#)"
|
||||
done
|
||||
|
||||
# 8. 绑定 DLX 到重试队列和错误队列
|
||||
# 8. 绑定 DLX 到重试队列
|
||||
echo ""
|
||||
echo "绑定 DLX 到重试队列和错误队列..."
|
||||
echo "绑定 DLX 到重试队列..."
|
||||
for dtype in "${DATA_TYPES[@]}"; do
|
||||
# DLX -> 重试队列
|
||||
# 注意:方案B中,超过重试次数的消息由 Consumer 直接发送到 errors.queue
|
||||
# 不使用 DLX 的 routing_key="error" 路由,因此不需要绑定到 errors.queue
|
||||
rabbitmqadmin -H $RABBITMQ_HOST -P $RABBITMQ_PORT -u $RABBITMQ_USER -p $RABBITMQ_PASS \
|
||||
declare binding --source "dlx.${dtype}" --destination "${dtype}.retry.queue" \
|
||||
--destination-type queue --vhost "$VHOST" --routing-key "retry"
|
||||
echo "✓ 绑定: dlx.${dtype} → ${dtype}.retry.queue (routing_key: retry)"
|
||||
|
||||
# DLX -> 错误队列
|
||||
rabbitmqadmin -H $RABBITMQ_HOST -P $RABBITMQ_PORT -u $RABBITMQ_USER -p $RABBITMQ_PASS \
|
||||
declare binding --source "dlx.${dtype}" --destination "errors.queue" \
|
||||
--destination-type queue --vhost "$VHOST" --routing-key "error"
|
||||
echo "✓ 绑定: dlx.${dtype} → errors.queue (routing_key: error)"
|
||||
done
|
||||
|
||||
# 9. 为每个平台创建 Exchange 和 Binding
|
||||
@@ -206,12 +202,16 @@ rabbitmqadmin -H $RABBITMQ_HOST -P $RABBITMQ_PORT -u $RABBITMQ_USER -p $RABBITMQ
|
||||
declare user --name "user_dataflow_consumer" --password "change_me_consumer" --tags ""
|
||||
echo "✓ 创建用户: user_dataflow_consumer"
|
||||
|
||||
# Consumer 需要完整的权限来声明和消费队列
|
||||
# - configure: 允许声明 main.exchange、DLX exchanges 和所有队列
|
||||
# - write: 允许向业务队列写入(ACK/NACK)、DLX 和 errors exchange
|
||||
# - read: 允许读取 main.exchange、业务队列和 DLX exchanges
|
||||
rabbitmqadmin -H $RABBITMQ_HOST -P $RABBITMQ_PORT -u $RABBITMQ_USER -p $RABBITMQ_PASS \
|
||||
declare permissions --vhost "$VHOST" --user "user_dataflow_consumer" \
|
||||
--configure "^(orders|products|refunds|inventory).*\\.queue$" \
|
||||
--write "(dlx\\..*)|(.*\\.errors\\.exchange)$" \
|
||||
--read "^(orders|products|refunds|inventory).*\\.queue$"
|
||||
echo "✓ 配置用户权限"
|
||||
--configure "^(main\\.exchange|dlx\\..*)|(.*\\.queue)$" \
|
||||
--write "^(orders|products|refunds|inventory).*\\.queue$|(dlx\\..*)|(.*\\.errors\\.exchange)$" \
|
||||
--read "^(main\\.exchange|(orders|products|refunds|inventory).*\\.queue|dlx\\..*)$"
|
||||
echo "✓ 配置用户权限 (configure: main.exchange+DLX+queues, write: business queues+DLX+errors, read: main.exchange+business queues+DLX)"
|
||||
|
||||
# 11. 创建运维监控用户
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user