1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| CREATE TABLE `gateway_route` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL COMMENT '路由名称', `path` varchar(255) NOT NULL COMMENT '请求路径', `service_id` varchar(100) NOT NULL COMMENT '服务ID', `url` varchar(500) DEFAULT NULL COMMENT '目标URL', `strip_prefix` tinyint(1) DEFAULT '1' COMMENT '是否去除前缀', `retryable` tinyint(1) DEFAULT '0' COMMENT '是否可重试', `status` tinyint(1) DEFAULT '1' COMMENT '状态', `create_time` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `path` (`path`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `service_instance` ( `id` int(11) NOT NULL AUTO_INCREMENT, `service_id` varchar(100) NOT NULL COMMENT '服务ID', `instance_id` varchar(100) NOT NULL COMMENT '实例ID', `host` varchar(100) NOT NULL COMMENT '主机地址', `port` int(11) NOT NULL COMMENT '端口', `weight` int(11) DEFAULT '100' COMMENT '权重', `metadata` json DEFAULT NULL COMMENT '元数据', `status` tinyint(1) DEFAULT '1' COMMENT '状态', `last_heartbeat` datetime DEFAULT NULL COMMENT '最后心跳', `create_time` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `instance` (`service_id`,`instance_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `rate_limit_rule` ( `id` int(11) NOT NULL AUTO_INCREMENT, `route_id` int(11) NOT NULL COMMENT '路由ID', `limit_type` enum('IP','USER','GLOBAL') DEFAULT 'IP' COMMENT '限流类型', `limit_count` int(11) NOT NULL COMMENT '限制次数', `time_window` int(11) NOT NULL COMMENT '时间窗口(秒)', `status` tinyint(1) DEFAULT '1' COMMENT '状态', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|