chore(config): Improve Nacos initialization and deployment scripts
This commit is contained in:
+15
-5
@@ -9,12 +9,22 @@ cd sentinel-dashboard
|
||||
docker build -t sentinel-dashboard:1.8.6 .
|
||||
cd ..
|
||||
|
||||
echo 3. 启动Docker Compose...
|
||||
echo 3. 获取本机IP地址...
|
||||
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /r "IPv4.*[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*"') do (
|
||||
set HOST_IP=%%a
|
||||
goto :found_ip
|
||||
)
|
||||
:found_ip
|
||||
set HOST_IP=%HOST_IP:~1%
|
||||
echo 使用IP地址: %HOST_IP%
|
||||
|
||||
echo 4. 启动Docker Compose...
|
||||
set HOST_IP=%HOST_IP%
|
||||
docker-compose up -d
|
||||
|
||||
echo 部署完成!
|
||||
echo 服务访问地址:
|
||||
echo - 网关: http://localhost:9000
|
||||
echo - Nacos: http://localhost:8848/nacos
|
||||
echo - Sentinel: http://localhost:8080
|
||||
echo - MinIO: http://localhost:9001
|
||||
echo - 网关: http://%HOST_IP%:9000
|
||||
echo - Nacos: http://%HOST_IP%:8848/nacos
|
||||
echo - Sentinel: http://%HOST_IP%:8880
|
||||
echo - MinIO: http://%HOST_IP%:9001
|
||||
+13
-8
@@ -43,19 +43,24 @@ EOF
|
||||
cd ..
|
||||
fi
|
||||
|
||||
echo "4. 启动Docker Compose..."
|
||||
echo "4. 获取本机IP地址..."
|
||||
HOST_IP=$(hostname -I | awk '{print $1}')
|
||||
echo "使用IP地址: $HOST_IP"
|
||||
|
||||
echo "5. 启动Docker Compose..."
|
||||
export HOST_IP=$HOST_IP
|
||||
|
||||
# 检查docker-compose是否可用
|
||||
if command -v docker-compose &> /dev/null; then
|
||||
docker-compose up -d
|
||||
HOST_IP=$HOST_IP docker-compose up -d
|
||||
else
|
||||
echo "警告: docker-compose命令不可用,尝试使用docker compose命令"
|
||||
docker compose up -d
|
||||
HOST_IP=$HOST_IP docker compose up -d
|
||||
fi
|
||||
|
||||
echo "部署完成!"
|
||||
echo "服务访问地址:"
|
||||
SERVER_IP=$(hostname -I | awk '{print $1}')
|
||||
echo "- 网关: http://${SERVER_IP}:9000"
|
||||
echo "- Nacos: http://${SERVER_IP}:8848/nacos"
|
||||
echo "- Sentinel: http://${SERVER_IP}:8080"
|
||||
echo "- MinIO: http://${SERVER_IP}:9001"
|
||||
echo "- 网关: http://${HOST_IP}:9000"
|
||||
echo "- Nacos: http://${HOST_IP}:8848/nacos"
|
||||
echo "- Sentinel: http://${HOST_IP}:8880"
|
||||
echo "- MinIO: http://${HOST_IP}:9001"
|
||||
+25
-2
@@ -1,5 +1,6 @@
|
||||
version: '3.8'
|
||||
|
||||
name: video-platform
|
||||
services:
|
||||
# 基础设施服务
|
||||
mysql:
|
||||
@@ -40,6 +41,10 @@ services:
|
||||
- MODE=standalone
|
||||
- JVM_XMS=512m
|
||||
- JVM_XMX=512m
|
||||
# 添加Nacos参数,确保正确处理服务注册
|
||||
- NACOS_AUTH_ENABLE=false
|
||||
- PREFER_HOST_MODE=hostname
|
||||
- NACOS_SERVER_IP=${HOST_IP:-127.0.0.1}
|
||||
ports:
|
||||
- "8848:8848"
|
||||
- "9848:9848"
|
||||
@@ -94,7 +99,7 @@ services:
|
||||
container_name: sentinel
|
||||
restart: always
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8880:8080"
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -113,9 +118,15 @@ services:
|
||||
- NACOS_PORT=8848
|
||||
- SENTINEL_HOST=sentinel
|
||||
- SENTINEL_PORT=8080
|
||||
- JAVA_OPTS=-Xms128m -Xmx128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- GATEWAY_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- sentinel
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 256M
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -133,6 +144,8 @@ services:
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- AUTH_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
@@ -154,6 +167,8 @@ services:
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- USER_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
@@ -182,6 +197,8 @@ services:
|
||||
- MINIO_ACCESS_KEY=minioadmin
|
||||
- MINIO_SECRET_KEY=minioadmin
|
||||
- MINIO_BUCKET=video-platform
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- CONTENT_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
@@ -205,6 +222,8 @@ services:
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- ADMIN_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
@@ -226,6 +245,8 @@ services:
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- COMMENT_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
@@ -247,6 +268,8 @@ services:
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- RECOMMEND_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
|
||||
@@ -5,6 +5,8 @@ CREATE DATABASE IF NOT EXISTS `video_content` CHARACTER SET utf8mb4 COLLATE utf8
|
||||
CREATE DATABASE IF NOT EXISTS `video_comment` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
CREATE DATABASE IF NOT EXISTS `video_recommend` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
CREATE DATABASE IF NOT EXISTS `video_admin` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
-- 创建Nacos配置数据库
|
||||
CREATE DATABASE IF NOT EXISTS nacos_config DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- 2. 认证数据库(video_auth)
|
||||
USE `video_auth`;
|
||||
|
||||
@@ -0,0 +1,176 @@
|
||||
-- 创建Nacos配置数据库
|
||||
CREATE DATABASE IF NOT EXISTS nacos_config CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
USE nacos_config;
|
||||
|
||||
-- Nacos数据库初始化脚本
|
||||
CREATE TABLE IF NOT EXISTS `config_info` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
|
||||
`group_id` varchar(128) DEFAULT NULL COMMENT 'group_id',
|
||||
`content` longtext NOT NULL COMMENT 'content',
|
||||
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
|
||||
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`src_user` text COMMENT 'source user',
|
||||
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
|
||||
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
|
||||
`c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description',
|
||||
`c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage',
|
||||
`effect` varchar(64) DEFAULT NULL COMMENT '配置生效目标',
|
||||
`type` varchar(64) DEFAULT NULL COMMENT '配置类型',
|
||||
`c_schema` text COMMENT '配置模式',
|
||||
`encrypted_data_key` text NOT NULL COMMENT '密钥',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='config_info';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `config_info_aggr` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
|
||||
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
|
||||
`datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
|
||||
`content` longtext NOT NULL COMMENT '内容',
|
||||
`gmt_modified` datetime NOT NULL COMMENT '修改时间',
|
||||
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='增加租户字段';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `config_info_beta` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
|
||||
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
|
||||
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
|
||||
`content` longtext NOT NULL COMMENT 'content',
|
||||
`beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
|
||||
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
|
||||
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`src_user` text COMMENT 'source user',
|
||||
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
|
||||
`encrypted_data_key` text NOT NULL COMMENT '密钥',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='config_info_beta';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `config_info_tag` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
|
||||
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
|
||||
`tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
|
||||
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
|
||||
`content` longtext NOT NULL COMMENT 'content',
|
||||
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
|
||||
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`src_user` text COMMENT 'source user',
|
||||
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='config_info_tag';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `config_tags_relation` (
|
||||
`id` bigint NOT NULL COMMENT 'id',
|
||||
`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
|
||||
`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
|
||||
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
|
||||
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
|
||||
`nid` bigint NOT NULL AUTO_INCREMENT COMMENT 'nid',
|
||||
PRIMARY KEY (`nid`),
|
||||
UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
|
||||
KEY `idx_tenant_id` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='config_tag_relation';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `group_capacity` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
|
||||
`quota` int unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
|
||||
`usage` int unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
|
||||
`max_size` int unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
|
||||
`max_aggr_count` int unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
|
||||
`max_aggr_size` int unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
|
||||
`max_history_count` int unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
|
||||
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_group_id` (`group_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='集群、各Group容量信息表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `his_config_info` (
|
||||
`id` bigint unsigned NOT NULL COMMENT 'id',
|
||||
`nid` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid',
|
||||
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
|
||||
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
|
||||
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
|
||||
`content` longtext NOT NULL COMMENT 'content',
|
||||
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
|
||||
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`src_user` text COMMENT 'source user',
|
||||
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
|
||||
`op_type` char(10) DEFAULT NULL COMMENT 'operation type',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
|
||||
`encrypted_data_key` text NOT NULL COMMENT '密钥',
|
||||
PRIMARY KEY (`nid`),
|
||||
KEY `idx_gmt_create` (`gmt_create`),
|
||||
KEY `idx_gmt_modified` (`gmt_modified`),
|
||||
KEY `idx_did` (`data_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='多租户改造';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tenant_capacity` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
|
||||
`quota` int unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
|
||||
`usage` int unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
|
||||
`max_size` int unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
|
||||
`max_aggr_count` int unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
|
||||
`max_aggr_size` int unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
|
||||
`max_history_count` int unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
|
||||
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_tenant_id` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='租户容量信息表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tenant_info` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`kp` varchar(128) NOT NULL COMMENT 'kp',
|
||||
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
|
||||
`tenant_name` varchar(128) DEFAULT '' COMMENT 'tenant_name',
|
||||
`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
|
||||
`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
|
||||
`gmt_create` bigint NOT NULL COMMENT '创建时间',
|
||||
`gmt_modified` bigint NOT NULL COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
|
||||
KEY `idx_tenant_id` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='tenant_info';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `users` (
|
||||
`username` varchar(50) NOT NULL COMMENT 'username',
|
||||
`password` varchar(500) NOT NULL COMMENT 'password',
|
||||
`enabled` tinyint(1) NOT NULL COMMENT 'enabled',
|
||||
PRIMARY KEY (`username`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `roles` (
|
||||
`username` varchar(50) NOT NULL COMMENT 'username',
|
||||
`role` varchar(50) NOT NULL COMMENT 'role',
|
||||
UNIQUE KEY `uk_username_role` (`username`,`role`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `permissions` (
|
||||
`role` varchar(50) NOT NULL COMMENT 'role',
|
||||
`resource` varchar(255) NOT NULL COMMENT 'resource',
|
||||
`action` varchar(8) NOT NULL COMMENT 'action',
|
||||
UNIQUE KEY `uk_role_permission` (`role`,`resource`,`action`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin;
|
||||
|
||||
-- 初始化Nacos用户
|
||||
INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', 1);
|
||||
INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
|
||||
@@ -4,7 +4,6 @@ import com.nuaa.video.admin.entity.AdminUser;
|
||||
import com.nuaa.video.admin.entity.AdminUserRole;
|
||||
import com.nuaa.video.admin.mapper.AdminUserMapper;
|
||||
import com.nuaa.video.admin.mapper.AdminUserRoleMapper;
|
||||
import com.nuaa.video.admin.security.AdminUserDetails;
|
||||
import com.nuaa.video.admin.service.PasswordService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -4,4 +4,5 @@ WORKDIR /app
|
||||
|
||||
COPY target/video-auth-*.jar app.jar
|
||||
|
||||
ENTRYPOINT ["java", "-jar", "app.jar"]
|
||||
# 添加JVM内存优化配置
|
||||
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -jar app.jar"]
|
||||
@@ -36,6 +36,12 @@
|
||||
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 添加负载均衡依赖 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- Sentinel Gateway适配 -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
|
||||
@@ -41,7 +41,7 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
|
||||
@Value("${jwt.token-header:Authorization}")
|
||||
private String tokenHeader;
|
||||
|
||||
@Value("${gateway.ignore.urls:/auth/login,/auth/register,/auth/captcha}")
|
||||
@Value("${spring.cloud.gateway.ignore.urls}")
|
||||
private List<String> ignoreUrls;
|
||||
|
||||
private final AntPathMatcher pathMatcher = new AntPathMatcher();
|
||||
|
||||
@@ -10,50 +10,100 @@ spring:
|
||||
server-addr: ${NACOS_HOST:nacos}:${NACOS_PORT:8848}
|
||||
namespace: public
|
||||
group: DEFAULT_GROUP
|
||||
sentinel:
|
||||
transport:
|
||||
dashboard: ${SENTINEL_HOST:sentinel}:${SENTINEL_PORT:8080}
|
||||
port: 8720
|
||||
eager: true
|
||||
# 移除以下健康检查配置
|
||||
# heart-beat-interval: 5000
|
||||
# heart-beat-timeout: 15000
|
||||
register-enabled: true
|
||||
watch-delay: 30000
|
||||
watch.enabled: true
|
||||
loadbalancer:
|
||||
ribbon:
|
||||
enabled: false
|
||||
cache:
|
||||
enabled: true
|
||||
caffeine:
|
||||
spec: initialCapacity=500,expireAfterWrite=5s
|
||||
# 添加重试机制
|
||||
gateway:
|
||||
discovery:
|
||||
locator:
|
||||
enabled: true
|
||||
lower-case-service-id: true
|
||||
url-expression: "'lb://'+serviceId"
|
||||
# 添加重试配置
|
||||
httpclient:
|
||||
connect-timeout: 5000
|
||||
response-timeout: 10000
|
||||
routes:
|
||||
# 保持原有路由配置不变,但移除StripPrefix过滤器
|
||||
- id: video-auth
|
||||
uri: lb://video-auth
|
||||
predicates:
|
||||
- Path=/auth/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 移除 StripPrefix=1 过滤器
|
||||
- name: Retry
|
||||
args:
|
||||
retries: 3
|
||||
statuses: BAD_GATEWAY,SERVICE_UNAVAILABLE
|
||||
methods: GET,POST
|
||||
backoff:
|
||||
firstBackoff: 1000ms
|
||||
maxBackoff: 5000ms
|
||||
factor: 2
|
||||
basedOnPreviousValue: false
|
||||
- id: video-user
|
||||
uri: lb://video-user
|
||||
predicates:
|
||||
- Path=/user/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 移除 StripPrefix=1 过滤器
|
||||
- name: Retry
|
||||
args:
|
||||
retries: 3
|
||||
statuses: BAD_GATEWAY,SERVICE_UNAVAILABLE
|
||||
methods: GET,POST
|
||||
- id: video-content
|
||||
uri: lb://video-content
|
||||
predicates:
|
||||
- Path=/content/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
- id: video-admin
|
||||
uri: lb://video-admin
|
||||
predicates:
|
||||
- Path=/admin/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 移除 StripPrefix=1 过滤器
|
||||
- name: Retry
|
||||
args:
|
||||
retries: 3
|
||||
statuses: BAD_GATEWAY,SERVICE_UNAVAILABLE
|
||||
methods: GET,POST
|
||||
- id: video-comment
|
||||
uri: lb://video-comment
|
||||
predicates:
|
||||
- Path=/comment/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 移除 StripPrefix=1 过滤器
|
||||
- name: Retry
|
||||
args:
|
||||
retries: 3
|
||||
statuses: BAD_GATEWAY,SERVICE_UNAVAILABLE
|
||||
methods: GET,POST
|
||||
- id: video-admin
|
||||
uri: lb://video-admin
|
||||
predicates:
|
||||
- Path=/admin/**
|
||||
filters:
|
||||
# 移除 StripPrefix=1 过滤器
|
||||
- name: Retry
|
||||
args:
|
||||
retries: 3
|
||||
statuses: BAD_GATEWAY,SERVICE_UNAVAILABLE
|
||||
methods: GET,POST
|
||||
- id: video-recommend
|
||||
uri: lb://video-recommend
|
||||
predicates:
|
||||
- Path=/recommend/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 移除 StripPrefix=1 过滤器
|
||||
- name: Retry
|
||||
args:
|
||||
retries: 3
|
||||
statuses: BAD_GATEWAY,SERVICE_UNAVAILABLE
|
||||
methods: GET,POST
|
||||
@@ -25,6 +25,18 @@ spring:
|
||||
group: ${NACOS_GROUP:DEFAULT_GROUP}
|
||||
refresh: true
|
||||
gateway:
|
||||
ignore:
|
||||
urls:
|
||||
- /**/auth/login
|
||||
- /**/auth/register
|
||||
- /**/auth/captcha
|
||||
- /content/video/public/**
|
||||
- /content/category/tree
|
||||
- /content/category/list
|
||||
- /comment/reply/public/**
|
||||
- /comment/public/**
|
||||
- /admin/auth/captcha
|
||||
- /admin/auth/login
|
||||
discovery:
|
||||
locator:
|
||||
enabled: true
|
||||
@@ -34,38 +46,32 @@ spring:
|
||||
uri: lb://video-auth
|
||||
predicates:
|
||||
- Path=/auth/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 移除 StripPrefix 过滤器
|
||||
- id: video-user
|
||||
uri: lb://video-user
|
||||
predicates:
|
||||
- Path=/user/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 移除 StripPrefix 过滤器
|
||||
- id: video-content
|
||||
uri: lb://video-content
|
||||
predicates:
|
||||
- Path=/content/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 移除 StripPrefix 过滤器
|
||||
- id: video-comment
|
||||
uri: lb://video-comment
|
||||
predicates:
|
||||
- Path=/comment/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 移除 StripPrefix 过滤器
|
||||
- id: video-recommend
|
||||
uri: lb://video-recommend
|
||||
predicates:
|
||||
- Path=/recommend/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 移除 StripPrefix 过滤器
|
||||
- id: video-admin
|
||||
uri: lb://video-admin
|
||||
predicates:
|
||||
- Path=/admin/**
|
||||
filters:
|
||||
- StripPrefix=0
|
||||
# 移除 StripPrefix 过滤器
|
||||
sentinel:
|
||||
transport:
|
||||
dashboard: ${SENTINEL_DASHBOARD_HOST:5.180.253.115}:${SENTINEL_DASHBOARD_PORT:8080}
|
||||
|
||||
Reference in New Issue
Block a user