feat: 初始化后端微服务架构骨架
This commit is contained in:
77
prompt/v2.md
Normal file
77
prompt/v2.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# 一、前言
|
||||
|
||||
我需要一个单机多服务部署的后台微服务架构。
|
||||
|
||||
> 执行目标:基于纯 Docker 环境构建可编译、可运行的最小化后端骨架,无宿主机依赖(无全局 Go/Protoc/Postgres/Redis 环境)
|
||||
|
||||
> 技术栈锁定: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/
|
||||
│ ├── cmd/
|
||||
│ │ └── main.go
|
||||
│ ├── internal/
|
||||
│ │ ├── config/
|
||||
│ │ │ └── config.go
|
||||
│ │ ├── ws/
|
||||
│ │ │ ├── hub.go
|
||||
│ │ │ ├── client.go
|
||||
│ │ │ └── message.go
|
||||
│ │ └── router/
|
||||
│ │ └── router.go
|
||||
│ ├── go.mod
|
||||
│ └── Dockerfile
|
||||
├── services/
|
||||
│ └── user-svc/
|
||||
│ ├── cmd/
|
||||
│ │ └── main.go
|
||||
│ ├── internal/
|
||||
│ │ ├── config/
|
||||
│ │ │ └── config.go
|
||||
│ │ ├── domain/
|
||||
│ │ │ └── user.go
|
||||
│ │ ├── repository/
|
||||
│ │ │ └── repo.go
|
||||
│ │ ├── service/
|
||||
│ │ │ └── service.go
|
||||
│ │ └── grpcserver/
|
||||
│ │ └── server.go
|
||||
│ ├── proto/
|
||||
│ │ └── user.proto
|
||||
│ ├── migrations/
|
||||
│ │ └── 001_init.sql
|
||||
│ ├── go.mod
|
||||
│ └── Dockerfile
|
||||
├── shared/
|
||||
│ ├── proto/
|
||||
│ │ ├── common/
|
||||
│ │ │ └── common.proto
|
||||
│ │ └── generate.go
|
||||
│ └── pkg/
|
||||
│ ├── logger/
|
||||
│ │ └── logger.go
|
||||
│ ├── errors/
|
||||
│ │ └── errors.go
|
||||
│ ├── database/
|
||||
│ │ └── postgres.go
|
||||
│ └── cache/
|
||||
│ └── redis.go
|
||||
├── scripts/
|
||||
│ ├── dev-start.sh # 纯 Docker 启动脚本
|
||||
│ ├── gen-proto.sh # Docker 内编译 proto
|
||||
│ └── docker-proto-builder/ # Protoc 编译容器配置
|
||||
│ └── Dockerfile
|
||||
├── docker-compose.yml # 全服务编排(含 proto 编译、Go 构建)
|
||||
├── docker-compose.dev.yml # 开发模式编排(挂载源码、热更新)
|
||||
├── Makefile # 封装 Docker 命令(兼容无宿主机 Make 环境)
|
||||
└── README.md # 纯 Docker 环境使用说明
|
||||
```
|
||||
|
||||
# 三、核心说明
|
||||
|
||||
不允污染宿主机,任何操作都只能通过 Docker 进行,绝对不在本地执行任何命令,不依赖本地环境,纯容器运行。
|
||||
|
||||
以上需求明白后,先创建基础骨架:包含 nginx、gateway、services/user-svc、shared、scripts、docker-compose.yml、Makefile,只创建目录结构,不写代码,让后等待我下一步指令。
|
||||
Reference in New Issue
Block a user