Files
yakpanel-core/mod/project/node/dbutil/load_balancer.sql
2026-04-07 02:04:22 +05:30

54 lines
3.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- load_sites 负载均衡网站
CREATE TABLE IF NOT EXISTS `load_sites`
(
`load_id` INTEGER PRIMARY KEY AUTOINCREMENT, -- 负载均衡ID
`name` TEXT NOT NULL UNIQUE, -- 负载均衡名称
`site_id` INTEGER NOT NULL DEFAULT 0, -- 站点ID
`site_name` TEXT NOT NULL , -- 站点名称,网站主域名
`site_type` TEXT NOT NULL DEFAULT 'http', -- http, tcp (http:代表http负载均衡tcp:代表tcp/udp负载均衡)
`ps` TEXT NOT NULL DEFAULT '',
`http_config` TEXT NOT NULL DEFAULT '{"proxy_next_upstream":"error timeout http_500 http_502 http_503 http_504","http_alg":"sticky_cookie"}',
`tcp_config` TEXT NOT NULL DEFAULT '{"proxy_connect_timeout":8,"proxy_timeout":86400,"host":"127.0.0.1","port":80,"type":"tcp"}',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- http_nodes
CREATE TABLE IF NOT EXISTS `http_nodes`
(
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`load_id` INTEGER NOT NULL DEFAULT 0, -- 负载均衡ID
`node_id` INTEGER NOT NULL DEFAULT 0, -- 节点ID
`node_site_id` INTEGER NOT NULL DEFAULT 0, -- 节点上的网站ID
`node_site_name` TEXT NOT NULL DEFAULT '', -- 节点上的网站名称
`port` INTEGER NOT NULL DEFAULT 0, -- 端口
`location` TEXT NOT NULL DEFAULT '/', -- 实施代理的路由, 默认是根路由 '/' 当前版本也只支持根路由
`path` TEXT NOT NULL DEFAULT '/', -- 访问验证路径
`node_status` TEXT NOT NULL DEFAULT 'online', -- 节点状态 online, backup, down
`weight` INTEGER NOT NULL DEFAULT 1, -- 权重
`max_fail` INTEGER NOT NULL DEFAULT 0, -- 最大失败次数
`fail_timeout` INTEGER NOT NULL DEFAULT 0, -- 失败恢复时间
`max_conns` INTEGER NOT NULL DEFAULT 0, -- 最大连接数
`ps` TEXT NOT NULL DEFAULT '',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- tcp_nodes
CREATE TABLE IF NOT EXISTS `tcp_nodes`
(
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`load_id` INTEGER NOT NULL DEFAULT 0, -- 负载均衡ID
`node_id` INTEGER NOT NULL DEFAULT 0, -- 节点ID
`host` TEXT NOT NULL,
`port` INTEGER NOT NULL DEFAULT 0,
`node_status` TEXT NOT NULL DEFAULT 'online', -- 节点状态 online, backup, down
`weight` INTEGER NOT NULL DEFAULT 1,
`max_fail` INTEGER NOT NULL DEFAULT 0,
`fail_timeout` INTEGER NOT NULL DEFAULT 0,
`ps` TEXT NOT NULL DEFAULT '',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX IF NOT EXISTS `load_sites_name` ON `load_sites` (`name`);
CREATE INDEX IF NOT EXISTS `load_sites_site_type` ON `load_sites` (`site_type`);
CREATE INDEX IF NOT EXISTS `http_nodes_load_id` ON `http_nodes` (`load_id`);
CREATE INDEX IF NOT EXISTS `tcp_nodes_load_id` ON `tcp_nodes` (`load_id`);