# Gomicro独立mod微服务框架v4版 **Repository Path**: trident-framework/gomicro-framework ## Basic Information - **Project Name**: Gomicro独立mod微服务框架v4版 - **Description**: Gomicro独立mod微服务框架【v4.9 ~ v4.11】 可运行golang版本【v1.18、v1.19、v1.20、v1.21、v1.22、1.23】 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-21 - **Last Updated**: 2025-10-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Gomicro Framework 基于 Go Micro 的微服务框架,包含网关、用户服务、商品服务、订单服务、库存服务、支付服务、优惠券服务、内容服务、配置中心、注册中心、消息队列、分布式事务等模块。 ## 项目结构 - **gateway-api**: 网关服务,提供 API 路由、鉴权、限流、熔断等功能。 - **services**: 微服务模块,包括用户服务、商品服务、订单服务等。 - **consoles**: 消费者控制台,处理 RabbitMQ 消息队列中的消息。 ``` golang-microgrpc-sharemod/ ├── gateway-api/ # 网关服务 | ├── config/ # 配置目录 | ├── constants/ # 常量目录 | ├── controllers/ # 控制器目录 | ├── logs/ # 日志目录 | ├── middlewares/ # 中间件目录 | ├── routers/ # 路由目录 | ├── static/ # 静态目录 | ├── tools/ # 工具目录 | ├── deploy.yaml # k8s部署文件 | ├── docker_compose_Jenkinsfile # docker-compose CICD文件 | ├── docker-compose.yaml # docker-compose部署文件 | ├── Dockerfile # 构建镜像文件 | ├── k8s_Jenkinsfile # k8s CICD文件 | ├── kubesphere_Jenkinsfile # kubesphere CICD文件 | ├── go.mod | ├── go.sum | └── main.go # 主文件 ├── services/ | ├── userService/ # 用户服务 | | ├── config/ # 配置目录 | | ├── constants/ # 常量目录 | | ├── handler/ # 处理器目录 | | ├── middlewares/ # 中间件目录 | | ├── logs/ # 日志目录 | | ├── models/ # 模型目录 | | ├── proto/ # proto目录 | | ├── tools/ # 工具目录 | | ├── deploy.yaml # k8s部署文件 | | ├── docker_compose_Jenkinsfile # docker-compose CICD文件 | | ├── docker-compose.yaml # docker-compose部署文件 | | ├── Dockerfile # 构建镜像文件 | | ├── k8s_Jenkinsfile # k8s CICD文件 | | ├── kubesphere_Jenkinsfile # kubesphere CICD文件 | | ├── go.mod | | ├── go.sum | | └── main.go # 主文件 └── README.md ``` ## 技术栈 - **Go**: 使用 Go 语言进行开发。 - **Go Micro**: 使用 Go Micro 框架构建微服务。 - **Gin**: 使用 Gin 框架构建网关服务。 - **RabbitMQ**: 使用 RabbitMQ 作为消息队列。 - **MySQL**: 使用 MySQL 作为主要数据库。 - **Redis**: 使用 Redis 作为缓存和分布式锁。 - **MongoDB**: 使用 MongoDB 存储非结构化数据。 - **ElasticSearch**: 使用 ElasticSearch 进行全文搜索。 - **MinIO/OSS**: 使用 MinIO 或 OSS 存储文件。 - **Nacos/Consul/ETCD**: 使用 Nacos、Consul 或 ETCD 作为配置中心和注册中心。 - **Sentinel**: 使用 Sentinel 进行流量控制和熔断。 - **Jaeger**: 使用 Jaeger 进行分布式追踪。 - **Zap**: 使用 Zap 进行日志记录。 ## 安装与部署 ### 依赖安装 - 安装 Go 1.18+ - 安装 Docker - 安装 Docker Compose - 安装 Jenkins ### 项目部署 1. **克隆项目** ```bash git clone https://gitee.com/trident-framework/gomicro-framework.git cd gomicro-framework ``` 2. **构建 Docker 镜像** ```bash docker-compose build ``` 3. **启动服务** ```bash docker-compose up -d ``` 4. **访问 Jenkins** ```bash http://localhost:8080 ``` 5. **配置 Jenkins** - 创建新的任务,配置构建步骤。 - 使用 `Jenkinsfile` 进行持续集成。 ## 使用说明 ### 网关服务 - **启动网关服务** ```bash cd gateway-api go run main.go ``` - **访问网关服务** ```bash http://localhost:8080 ``` ### 用户服务 - **启动用户服务** ```bash cd services/userService go run main.go ``` - **访问用户服务** ```bash http://localhost:8081 ``` ### 商品服务 - **启动商品服务** ```bash cd services/goodsService go run main.go ``` - **访问商品服务** ```bash http://localhost:8082 ``` ### 订单服务 - **启动订单服务** ```bash cd services/orderService go run main.go ``` - **访问订单服务** ```bash http://localhost:8083 ``` ### 库存服务 - **启动库存服务** ```bash cd services/inventoryService go run main.go ``` - **访问库存服务** ```bash http://localhost:8084 ``` ### 支付服务 - **启动支付服务** ```bash cd services/paymentService go run main.go ``` - **访问支付服务** ```bash http://localhost:8085 ``` ### 优惠券服务 - **启动优惠券服务** ```bash cd services/couponService go run main.go ``` - **访问优惠券服务** ```bash http://localhost:8086 ``` ### 内容服务 - **启动内容服务** ```bash cd services/contentService go run main.go ``` - **访问内容服务** ```bash http://localhost:8087 ``` ## 贡献指南 欢迎贡献代码和文档。请遵循以下步骤: 1. Fork 本项目。 2. 创建新分支。 3. 提交代码。 4. 创建 Pull Request。 ## 许可证 本项目采用 MIT 许可证。详情请参阅 [LICENSE](LICENSE) 文件。