diff --git a/README.md b/README.md index 030871265e6cd956ee316c92c590578a59aa42de..4a9eea18852e65aa7052e27bf0947be443d51e5f 100644 --- a/README.md +++ b/README.md @@ -1,137 +1,76 @@ -# BRX Java Common -这是(BRX)Java微服务应用的部署配置集合,提供了完整的容器化部署方案,包括Docker和Kubernetes配置。 -## 项目概述 +BRX Java Common +=============== -本项目包含了微服务应用的部署配置和启动脚本,支持Docker容器化部署和Kubernetes集群部署。项目使用了现代化的微服务架构,集成了多种中间件和服务组件,提供高可用、可扩展的应用运行环境。 +项目概述 +-------- +本项目是一个通用的Java微服务项目,包含了服务部署、配置管理、环境适配等核心功能。适用于基于Spring Cloud Alibaba和Dubbo框架的微服务架构部署。 -## 技术栈 +技术栈 +------ +- Java 8 +- Spring Cloud Alibaba +- Dubbo 3.x +- Nacos +- Redis +- Node.js 22 (前端构建) +- Nginx (Web服务) -- **基础环境**: Java 8 (Alpine Linux) -- **微服务框架**: - - Spring Boot/Spring Cloud - - Dubbo (RPC框架) - - Nacos (服务注册与配置中心) -- **数据存储**: - - MySQL 8.0 - - Redis - - OSS (对象存储服务) -- **任务调度**: XXL-Job -- **日志系统**: PlumeLog -- **Web服务器**: Nginx -- **容器化**: Docker, Kubernetes +项目结构 +---------- +- common/ : 通用配置目录,包含Docker部署文件和启动脚本 +- seres/k8s/java/ : Kubernetes部署的Java服务Dockerfile及依赖文件 +- seres/k8s/web/ : Web前端服务Dockerfile及Nginx配置 +- web/ : Web前端构建相关文件 +- brx-key.jar, key.jar : Java密钥/加密相关的jar包 -## 项目结构 - -``` -brx-java-common/ -├── brx-key.jar # 授权密钥生成工具 -├── 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部署 - -1. 确保安装了Docker和Docker Compose -2. 进入common目录 -3. 执行以下命令启动服务: - -```bash -docker-compose up -d -``` +1. 构建镜像:`docker build -t .` +2. 运行容器:`docker run -d -p : ` ### Kubernetes部署 - -1. 确保已配置好Kubernetes集群 -2. 进入seres/k8s目录 -3. 应用Kubernetes配置: - -```bash -kubectl apply -f java/ -kubectl apply -f web/ -``` - -## 启动参数配置 - -应用启动时使用的主要配置参数位于`common/Start.sh`文件中,包括: - -- JVM内存配置 -- GC策略 -- 数据库连接参数 -- Redis连接参数 -- Nacos服务发现与配置 -- 日志系统配置 -- 任务调度配置 -- 对象存储配置 - -可根据实际环境需求调整这些参数。 - -## 授权机制 - -项目使用`brx-key.jar`生成授权密钥,该密钥通过系统属性`-Dbrx.auth.value`传递给主应用程序。在启动应用前,请确保授权密钥正确配置。 - -运行以下命令可生成授权密钥: - -```bash -java -jar brx-key.jar -``` - -## 环境要求 - -- Docker 19.03+ -- Docker Compose 1.27+ -- Kubernetes 1.18+ (如使用K8s部署) -- 至少2GB可用内存 -- 至少10GB可用磁盘空间 - -## 常见问题 - -1. **应用无法连接到数据库** - - 检查数据库连接参数是否正确 - - 确认数据库服务是否正常运行 - - 检查网络连接是否通畅 - -2. **Nacos服务发现失败** - - 确认Nacos服务是否正常运行 - - 检查Nacos连接参数是否正确 - - 查看应用日志中的相关错误信息 - -3. **授权验证失败** - - 确认使用了正确的授权密钥 - - 检查`-Dbrx.auth.value`参数是否正确配置 - -## 维护与支持 - -如有问题,请联系BRX技术支持团队。 - -## 许可证 - -本项目受许可证保护,详情请参阅LICENSE文件。 \ No newline at end of file +1. 构建镜像:`docker build -t /: .` +2. 推送镜像:`docker push /:` +3. 创建Kubernetes部署和服务配置 + +启动参数配置 +------------- +所有配置通过环境变量进行设置,包括: +- 数据库连接:`DBHOST`, `DBPORT`, `DBNAME`, `DBUSERNAME`, `DBPWD` +- Redis配置:`REDIS_HOST`, `REDIS_PORT`, `REDIS_PASSWORD`, `REDIS_DATABASE` +- Nacos配置:`NACOS_HOST`, `NACOS_PORT`, `NACOSNAMESPACE`, `NACOS_USERNAME`, `NACOS_PASSWORD` +- 日志配置:`PLUMELOGENABLED`, `PLUMELOGHOST`, `PLUMELOGMODEL` 等 +- 文件存储:`OSS_BUCKET_NAME`, `OSS_TYPE`, `OSS_ENDPOINT` 等 +- XXL-JOB配置:`XXLJOBEXECUTORADDRESS`, `XXLJOBACCESSTOKEN` 等 +- 其他:`PROFILES`, `COMMON_ENV`, `PROJECT_NAME`, `JASYPT_ENCRYPTOR_PASSWORD` + +授权机制 +-------- +使用`brx-key.jar`进行服务授权验证,具体实现细节需要查看jar包内容。 + +环境要求 +-------- +- JDK 8 +- Redis +- MySQL 5.7+ +- Nacos 2.2+ +- Node.js 22.x (前端构建) +- Nginx (Web服务) + +常见问题 +--------- +- 端口占用问题:可以使用`find_dubbo_port.sh`和`find_port.sh`脚本来检测和寻找可用端口 +- 环境变量必须在容器启动前设置 +- 前端构建需要Node.js和NPM配置 + +维护与支持 +----------- +该项目由[维护团队]维护,如有问题请联系[联系方式] + +许可证 +------- +本项目遵循Apache-2.0 license,详见LICENSE文件。 \ No newline at end of file