负载均衡深度改造,增加分布式锁,表唯一约束等

This commit is contained in:
2026-02-24 11:17:33 +08:00
parent 8d711dc3a2
commit 148a08a3f1
27 changed files with 891 additions and 182 deletions

View File

@@ -0,0 +1,64 @@
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- P1: 多机部署并发安全增强(唯一约束 + 去重)
-- 注意:本脚本为增量脚本,建议仅执行一次。
-- 1) 清理 bot-knowledge 重复绑定
DELETE t1
FROM tb_bot_document_collection t1
INNER JOIN tb_bot_document_collection t2
ON t1.bot_id <=> t2.bot_id
AND t1.document_collection_id <=> t2.document_collection_id
AND t1.id > t2.id;
-- 2) 清理 bot-workflow 重复绑定
DELETE t1
FROM tb_bot_workflow t1
INNER JOIN tb_bot_workflow t2
ON t1.bot_id <=> t2.bot_id
AND t1.workflow_id <=> t2.workflow_id
AND t1.id > t2.id;
-- 3) 清理 bot-plugin 重复绑定
DELETE t1
FROM tb_bot_plugin t1
INNER JOIN tb_bot_plugin t2
ON t1.bot_id <=> t2.bot_id
AND t1.plugin_item_id <=> t2.plugin_item_id
AND t1.id > t2.id;
-- 4) 清理 bot-mcp 重复绑定
DELETE t1
FROM tb_bot_mcp t1
INNER JOIN tb_bot_mcp t2
ON t1.bot_id <=> t2.bot_id
AND t1.mcp_id <=> t2.mcp_id
AND t1.mcp_tool_name <=> t2.mcp_tool_name
AND t1.id > t2.id;
-- 5) 清理最近使用重复记录
DELETE t1
FROM tb_bot_recently_used t1
INNER JOIN tb_bot_recently_used t2
ON t1.created_by = t2.created_by
AND t1.bot_id = t2.bot_id
AND t1.id > t2.id;
-- 增加唯一索引(并发写最终一致性兜底)
ALTER TABLE tb_bot_document_collection
ADD UNIQUE INDEX uni_bot_document_collection (bot_id, document_collection_id);
ALTER TABLE tb_bot_workflow
ADD UNIQUE INDEX uni_bot_workflow (bot_id, workflow_id);
ALTER TABLE tb_bot_plugin
ADD UNIQUE INDEX uni_bot_plugin (bot_id, plugin_item_id);
ALTER TABLE tb_bot_mcp
ADD UNIQUE INDEX uni_bot_mcp (bot_id, mcp_id, mcp_tool_name);
ALTER TABLE tb_bot_recently_used
ADD UNIQUE INDEX uni_bot_recently_used (created_by, bot_id);
SET FOREIGN_KEY_CHECKS = 1;