本项目是一个微服务配置中心服务,具备泳道配置管理能力。它为微服务提供集中化的配置管理,支持配置的读写、历史版本管理以及配置回滚等功能。通过泳道配置管理,可实现不同环境或流量的配置隔离。
api/
config.go
go.mod
internal/
ctx/
models/
repos/
services/
types/
main.go
pkg/
client/
respond/
tools/
- 📁 api: 包含 API 路由和处理逻辑。
- 📁 internal: 项目核心代码,包含上下文、模型、仓库和服务层。
- 📁 pkg: 存放可复用的工具包,如客户端、响应处理和工具函数。
- ✏️ 配置读写:支持配置的写入和读取操作,确保微服务能获取最新的配置信息。
- 📜 历史版本管理:记录配置的历史变更,方便追溯和审计。
- 🔙 配置回滚:可将配置回滚到指定的历史版本。
- 🌐 泳道配置管理:实现不同泳道的配置隔离,满足不同环境或流量的配置需求。
确保已经安装了 Go 语言环境,然后在项目根目录下执行以下命令下载依赖:
go mod tidy
在项目根目录下执行以下命令启动服务:
go run main.go
- 🌐 URL :
/api/write
- 📮 方法 :
POST
- 📋 请求体示例 :
{
"tenantId": "default", // 租户 ID
"namespace": "test", // 命名空间
"serviceName": "test", // 服务名称
"lane": "default", // 泳道版本
"content": "qqq1234567890", // 配置内容
"type": "yaml", // 配置类型
"operator": "cairry" // 操作人
}
- 🌐 URL :
/api/read/{tenantId}/{namespace}/{serviceName}/{lane}
- 📮 方法 :
GET
- 🔎 查询参数示例 :
/api/read/123456/test/test-service/default
- 🌐 URL :
/api/history/{tenantId}/{namespace}/{serviceName}/{lane}
- 📮 方法 :
GET
- 🔎 查询参数示例 :
/api/history/123456/test/test-service/default
- 🌐 URL :
/api/rollback/{tenantId}/{namespace}/{serviceName}/{lane}/{version}
- 📮 方法 :
POST
- 📋 请求体示例 :
{
"id": 1, // 历史版本 ID
"tenantId": "123", // 租户 ID
"namespace": "test", // 命名空间
"serviceName": "test-service", // 服务名称
"lane": "default", // 泳道版本
"operator": "admin" // 操作人
}