feat: 完成Nacos配置优化和WebSocket集成
主要更新: 1. 统一所有微服务端口配置(19000-19008) 2. 为所有服务创建本地/测试/生产三套环境配置 3. 配置Nacos认证密码(本地:Peanut2817*#, 测试/生产:EmotionMuseum2025) 4. 优化网关路由配置,支持负载均衡和WebSocket 5. 新增emotion-websocket模块,支持实时聊天 6. 前端集成WebSocket,替代HTTP轮询 7. 添加配置验证和管理工具脚本 技术特性: - 完整的环境隔离和服务发现 - WebSocket实时通信支持 - 负载均衡路由配置 - 跨域和安全配置 - 自动重连和心跳检测
This commit is contained in:
Executable
+144
@@ -0,0 +1,144 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ============================================================================
|
||||
# 验证所有微服务的Nacos配置
|
||||
# 检查配置文件是否正确生成,端口是否正确配置
|
||||
# ============================================================================
|
||||
|
||||
# 颜色定义
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${BLUE}===========================================${NC}"
|
||||
echo -e "${BLUE}验证微服务Nacos配置${NC}"
|
||||
echo -e "${BLUE}===========================================${NC}"
|
||||
|
||||
# 服务配置
|
||||
SERVICES="emotion-gateway:19000 emotion-user:19001 emotion-ai:19002 emotion-record:19003 emotion-growth:19004 emotion-explore:19005 emotion-reward:19006 emotion-websocket:19007 emotion-stats:19008"
|
||||
|
||||
# 验证配置文件
|
||||
verify_config_file() {
|
||||
local service_name=$1
|
||||
local port=$2
|
||||
local env=$3
|
||||
local config_file="backend/${service_name}/src/main/resources/application-${env}.yml"
|
||||
|
||||
if [ ! -f "$config_file" ]; then
|
||||
echo -e "${RED} ❌ 配置文件不存在: $config_file${NC}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 检查Nacos配置
|
||||
if ! grep -q "nacos:" "$config_file"; then
|
||||
echo -e "${RED} ❌ 缺少Nacos配置${NC}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 检查服务发现配置
|
||||
if ! grep -q "discovery:" "$config_file"; then
|
||||
echo -e "${RED} ❌ 缺少服务发现配置${NC}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 检查数据源配置(除了网关)
|
||||
if [ "$service_name" != "emotion-gateway" ]; then
|
||||
if ! grep -q "datasource:" "$config_file"; then
|
||||
echo -e "${RED} ❌ 缺少数据源配置${NC}"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# 检查Redis配置
|
||||
if ! grep -q "redis:" "$config_file"; then
|
||||
echo -e "${RED} ❌ 缺少Redis配置${NC}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo -e "${GREEN} ✅ $env 环境配置正确${NC}"
|
||||
return 0
|
||||
}
|
||||
|
||||
# 验证主配置文件端口
|
||||
verify_main_config() {
|
||||
local service_name=$1
|
||||
local expected_port=$2
|
||||
local main_config="backend/${service_name}/src/main/resources/application.yml"
|
||||
|
||||
if [ ! -f "$main_config" ]; then
|
||||
echo -e "${RED} ❌ 主配置文件不存在: $main_config${NC}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 检查端口配置
|
||||
local actual_port=$(grep "port:" "$main_config" | head -1 | awk '{print $2}')
|
||||
if [ "$actual_port" != "$expected_port" ]; then
|
||||
echo -e "${RED} ❌ 端口配置错误: 期望 $expected_port, 实际 $actual_port${NC}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo -e "${GREEN} ✅ 主配置端口正确: $expected_port${NC}"
|
||||
return 0
|
||||
}
|
||||
|
||||
# 统计结果
|
||||
total_services=0
|
||||
success_services=0
|
||||
failed_services=0
|
||||
|
||||
# 处理每个服务
|
||||
for service_info in $SERVICES; do
|
||||
service_name=$(echo $service_info | cut -d: -f1)
|
||||
port=$(echo $service_info | cut -d: -f2)
|
||||
|
||||
echo -e "${YELLOW}验证服务: $service_name (端口: $port)${NC}"
|
||||
total_services=$((total_services + 1))
|
||||
|
||||
# 检查服务目录是否存在
|
||||
if [ ! -d "backend/$service_name" ]; then
|
||||
echo -e "${RED} ❌ 服务目录不存在: backend/$service_name${NC}"
|
||||
failed_services=$((failed_services + 1))
|
||||
continue
|
||||
fi
|
||||
|
||||
# 验证主配置文件
|
||||
service_success=true
|
||||
if ! verify_main_config "$service_name" "$port"; then
|
||||
service_success=false
|
||||
fi
|
||||
|
||||
# 验证环境配置文件
|
||||
for env in local test prod; do
|
||||
if ! verify_config_file "$service_name" "$port" "$env"; then
|
||||
service_success=false
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$service_success" = true ]; then
|
||||
echo -e "${GREEN} ✅ $service_name 所有配置验证通过${NC}"
|
||||
success_services=$((success_services + 1))
|
||||
else
|
||||
echo -e "${RED} ❌ $service_name 配置验证失败${NC}"
|
||||
failed_services=$((failed_services + 1))
|
||||
fi
|
||||
|
||||
echo ""
|
||||
done
|
||||
|
||||
# 显示统计结果
|
||||
echo -e "${BLUE}===========================================${NC}"
|
||||
echo -e "${BLUE}验证结果统计${NC}"
|
||||
echo -e "${BLUE}===========================================${NC}"
|
||||
echo -e "总服务数: ${BLUE}$total_services${NC}"
|
||||
echo -e "验证成功: ${GREEN}$success_services${NC}"
|
||||
echo -e "验证失败: ${RED}$failed_services${NC}"
|
||||
|
||||
if [ $failed_services -eq 0 ]; then
|
||||
echo -e "${GREEN}🎉 所有服务配置验证通过!${NC}"
|
||||
exit 0
|
||||
else
|
||||
echo -e "${RED}❌ 有 $failed_services 个服务配置存在问题${NC}"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user