bid.hao.work/docs
Diff

09-backend-go-services.md @ 540935e

commit 540935ed47637a324b35b0599e0a5d4a289e7aca Author: bid-docs <bid-docs@localhost> Date: 2026-01-21T11:08:50+08:00 Initialize docs and viewer diff --git a/docs/09-backend-go-services.md b/docs/09-backend-go-services.md new file mode 100644 index 0000000..db219bf --- /dev/null +++ b/docs/09-backend-go-services.md @@ -0,0 +1,55 @@ +# Go 后端服务设计 (Backend Services in Go) + +## 1. 服务拆分 (Service Split) +- **gateway-api**:统一 REST API、鉴权、限流 +- **data-ingest**:采集任务调度与执行 +- **data-process**:清洗、标准化、OCR、消歧 +- **search-service**:搜索索引构建与查询 +- **analytics-service**:指标计算与报表查询 +- **notification-service**:订阅与通知推送 +- **admin-service**:数据源管理、质量监控、运营后台 + +## 2. 推荐技术栈 +- Web 框架:Gin 或 Echo +- ORM:GORM 或 sqlx +- 配置:Viper +- 日志:Zap +- 任务调度:cron/Temporal +- 队列:Kafka/RabbitMQ +- 缓存:Redis + +## 3. 项目结构建议 +``` +cmd/ + gateway-api/ + data-ingest/ + data-process/ +internal/ + config/ + middleware/ + repository/ + service/ + handler/ + model/ + jobs/ + utils/ +api/ + openapi.yaml +``` + +## 4. 关键模块说明 +- **Repository**:封装 DB 访问与分页/过滤 +- **Service**:业务逻辑、规则、权限 +- **Handler**:REST API 入口 +- **Jobs**:采集/清洗/同步任务 + +## 5. 数据库与索引 +- 主库:项目/公告/组织/订阅 +- 索引:全文检索字段、标签、地区与行业 +- OLAP:聚合结果与分析视图 + +## 6. 可靠性与扩展 +- 所有服务接入集中日志与分布式追踪 +- 关键数据流支持幂等与重试 +- 采集链路支持失败熔断与任务降级 +