# brx-java-common **Repository Path**: rx_admin/brx-java-common ## Basic Information - **Project Name**: brx-java-common - **Description**: brx新平台启动公用文件 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-07 - **Last Updated**: 2025-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BRX Java Common 这是(BRX)Java微服务应用的部署配置集合,提供了完整的容器化部署方案,包括Docker和Kubernetes配置。 ## 项目概述 本项目包含了微服务应用的部署配置和启动脚本,支持Docker容器化部署和Kubernetes集群部署。项目使用了现代化的微服务架构,集成了多种中间件和服务组件,提供高可用、可扩展的应用运行环境。 ## 技术栈 - **基础环境**: Java 8 (Alpine Linux) - **微服务框架**: - Spring Boot/Spring Cloud - Dubbo (RPC框架) - Nacos (服务注册与配置中心) - **数据存储**: - MySQL 8.0 - Redis - OSS (对象存储服务) - **任务调度**: XXL-Job - **日志系统**: PlumeLog - **Web服务器**: Nginx - **容器化**: Docker, Kubernetes ## 项目结构 ``` brx-java-common/ ├── key.jar # 授权密钥生成工具 ├── common/ # 通用配置 │ ├── docker-compose.yml # Docker Compose配置 │ ├── Dockerfile # Docker镜像构建配置 │ ├── Start # 启动脚本 │ └── Start.sh # 启动脚本(Shell版) ├── gitee/ # Gitee相关配置 │ └── java/ │ └── Dockerfile # Java服务Dockerfile ├── seres/ # Seres环境配置 │ └── k8s/ # Kubernetes配置 │ ├── java/ # Java服务K8s配置 │ │ ├── Dockerfile │ │ └── java.pem # 证书文件 │ └── web/ # Web服务K8s配置 │ ├── Dockerfile │ └── hrqms/ │ └── nginx.conf # Nginx配置 ├── web/ # Web服务配置 │ ├── Dockerfile # Web服务Dockerfile │ ├── nginx.conf # Nginx配置 │ └── Start.sh # Web服务启动脚本 ├── find_dubbo_port.sh # Dubbo端口查找脚本 ├── find_port.sh # 端口查找脚本 ├── Font.zip # 字体资源 ├── sokonmarketing-bg.png # 背景图片资源 └── LICENSE # 许可证文件 ``` ## 快速开始 ### 前置条件 - Docker 19.03+ - Docker Compose 1.27+ - Kubernetes 1.18+ (如使用K8s部署) - 至少2GB可用内存 - 至少10GB可用磁盘空间 ### Docker部署 1. 克隆仓库到本地: ```bash git clone https://your-repository-url/brx-java-common.git cd brx-java-common ``` 2. 进入common目录: ```bash cd common ``` 3. 执行以下命令启动服务: ```bash docker-compose up -d ``` 4. 验证服务是否正常运行: ```bash docker-compose ps ``` ### Kubernetes部署 1. 确保已配置好Kubernetes集群 2. 进入seres/k8s目录 3. 应用Kubernetes配置: ```bash kubectl apply -f java/ kubectl apply -f web/ ``` 4. 检查部署状态: ```bash kubectl get pods kubectl get services ``` ## 配置指南 ### 启动参数配置 应用启动时使用的主要配置参数位于`common/Start.sh`文件中,包括: - JVM内存配置 - GC策略 - 数据库连接参数 - Redis连接参数 - Nacos服务发现与配置 - 日志系统配置 - 任务调度配置 - 对象存储配置 可根据实际环境需求调整这些参数。 ### Web服务配置 Web服务的Nginx配置位于`web/nginx.conf`文件中,主要包括: - 静态资源服务 - API代理配置 - CORS设置 - 上传文件处理 - URL路径配置 ### 环境变量 主要的环境变量包括: | 变量名 | 描述 | 默认值 | |--------|------|--------| | `JAVA_OPTS` | Java虚拟机参数 | `-Xms512m -Xmx1024m` | | `DUBBO_IP_TO_REGISTRY` | Dubbo注册IP | 容器IP | | `NACOS_ADDR` | Nacos服务地址 | `127.0.0.1:8848` | | `MYSQL_URL` | MySQL连接地址 | `jdbc:mysql://localhost:3306/dbname` | | `REDIS_HOST` | Redis主机地址 | `127.0.0.1` | | `API_URL` | API服务地址 | `http://api-server/` | | `URL_PATH` | URL路径前缀 | `mobile` | ## 授权机制 项目使用`key.jar`生成授权密钥,该密钥通过系统属性`-Dbrx.auth.value`传递给主应用程序。在启动应用前,请确保授权密钥正确配置。 运行以下命令可生成授权密钥: ```bash java -jar key.jar ``` ## 常见问题 1. **应用无法连接到数据库** - 检查数据库连接参数是否正确 - 确认数据库服务是否正常运行 - 检查网络连接是否通畅 2. **Nacos服务发现失败** - 确认Nacos服务是否正常运行 - 检查Nacos连接参数是否正确 - 查看应用日志中的相关错误信息 3. **授权验证失败** - 确认使用了正确的授权密钥 - 检查`-Dbrx.auth.value`参数是否正确配置 4. **Web前端无法访问API** - 检查Nginx配置中的代理设置 - 确认API服务是否正常运行 - 检查CORS配置是否正确 5. **Docker构建失败** - 检查Dockerfile语法 - 确认基础镜像是否可用 - 查看构建日志中的错误信息 ## 性能调优 ### JVM调优 推荐的JVM参数设置: ``` -Xms2g -Xmx2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof ``` ### Nginx调优 推荐的Nginx性能参数: ``` worker_processes auto; worker_connections 1024; keepalive_timeout 65; client_max_body_size 200M; gzip on; ``` ## 版本历史 ### v1.0.0 (2023-10-01) - 初始版本发布 - 支持Docker和Kubernetes部署 - 集成Nacos服务发现 ### v1.1.0 (2023-12-15) - 优化Nginx配置 - 改进授权机制 - 更新基础镜像版本 ## 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 创建Pull Request ## 维护与支持 如有问题,请联系BRX技术支持团队。 ## 许可证 本项目受许可证保护,详情请参阅LICENSE文件。 ## 致谢 - 感谢所有为本项目做出贡献的开发者 - 特别感谢提供技术支持的合作伙伴