Files
asset_helper/backend/README.md

1.9 KiB

后端微服务架构

这是一个基于纯 Docker 环境构建的最小化后端骨架,不需要主机依赖。

技术栈

  • golang:1.26.1-alpine3.23
  • postgres:18.3-alpine3.23
  • redis:8.6.2-alpine
  • Docker/Docker Compose
  • nginx:1.25-alpine

目录结构

./backend/
├── gateway/           # API 网关服务
├── services/          # 微服务
│   └── user-svc/      # 用户服务
├── shared/            # 共享代码和 proto 文件
├── scripts/           # 工具脚本
├── docker-compose.yml # 生产环境 docker compose 文件
├── docker-compose.dev.yml # 开发模式 docker compose 文件
├── Makefile           # Docker 命令封装
└── README.md          # 本文档

快速开始

前置条件

  • Docker
  • Docker Compose

启动服务

  1. 构建并启动服务

    # 使用 Makefile
    make up
    
    # 或使用脚本
    ./scripts/dev-start.sh
    
  2. 以开发模式启动(热更新)

    make up-dev
    
  3. 生成 proto 文件

    make gen-proto
    
  4. 运行测试

    make test
    
  5. 停止服务

    make down
    

访问服务

开发

添加新服务

  1. services/ 目录下创建新目录
  2. 添加 Dockerfilego.mod 和必要的目录结构
  3. 更新 docker-compose.ymldocker-compose.dev.yml 以包含新服务

Proto 文件

  • shared/proto/common/ 目录下添加 proto 文件
  • 运行 make gen-proto 生成 Go 代码

生产环境

对于生产部署,使用 docker-compose.yml,它会构建优化的镜像,不包含卷挂载。

清理

make clean

这将停止所有服务,移除卷,并清理镜像。