backend-microservice-development

核心服务:process(流水线) | project(项目) | repository(代码库) | auth(权限) 四层架构:api-{service}(接口) → biz-{service}(业务+DAO) → boot-{service}(启动) → model-{service}(数据模型) 包命名:com.tencent.devops.<module> Resource 前缀:User*(Web) | Service*(内部) | Build*(Agent) | Open*(外部)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "backend-microservice-development" with this command: npx skills add tencentblueking/bk-ci/tencentblueking-bk-ci-backend-microservice-development

后端微服务开发

Quick Reference

核心服务:process(流水线) | project(项目) | repository(代码库) | auth(权限) 四层架构:api-{service}(接口) → biz-{service}(业务+DAO) → boot-{service}(启动) → model-{service}(数据模型) 包命名:com.tencent.devops.<module> Resource 前缀:User*(Web) | Service*(内部) | Build*(Agent) | Open*(外部)

最简示例

// Resource 接口定义 @Tag(name = "USER_PIPELINE", description = "用户-流水线资源") @Path("/user/pipelines") @Produces(MediaType.APPLICATION_JSON) interface UserPipelineResource { @GET @Operation(summary = "获取流水线列表") fun list(@HeaderParam(AUTH_HEADER_USER_ID) userId: String): Result<List<PipelineInfo>> }

// Resource 实现(构造器注入) @RestResource class UserPipelineResourceImpl @Autowired constructor( private val pipelineService: PipelineService ) : UserPipelineResource

When to Use

  • 创建新微服务或添加新 Resource

  • 编写 Kotlin/Java 后端代码

  • 设计服务间调用架构

  • 需要了解项目分层规范

When NOT to Use

  • 前端 Vue 开发 → 使用 04-frontend-vue-development

  • Agent Go 开发 → 使用 05-go-agent-development

  • 数据库 DDL 编写 → 使用 database-design

四层分层架构

core/{service}/ ├── api-{service}/ # API接口定义层 - 对外暴露服务契约 ├── biz-{service}/ # 业务逻辑层 - 包含 Service、DAO ├── boot-{service}/ # Spring Boot启动层 - 独立部署单元 └── model-{service}/ # 数据模型层 - JOOQ 生成的数据库访问对象

16 个核心微服务

服务 职责

project 项目管理(所有模块基础依赖)

process 流水线编排与调度(核心服务)

repository 代码库管理

artifactory 制品库(对接 COS/S3)

store 研发商店(插件、模板)

environment 构建机/环境管理

dispatch 构建调度分发

auth 权限认证(RBAC)

ticket 凭证管理

log 构建日志

quality 质量红线

notify 通知服务

openapi 对外 API

metrics 度量服务

websocket WebSocket 服务

misc 杂项服务

Resource 命名规范

前缀 用途 路径前缀 示例

User*Resource

用户 Web 交互 /user/

UserPipelineResource

Service*Resource

服务间内部调用 /service/

ServiceBuildResource

Build*Resource

构建过程 Agent/Worker /build/

BuildArtifactoryResource

BuildAgent*Resource

第三方 Agent 专用 /buildAgent/

BuildAgentCredentialResource

Open*Resource

对外开放(OpenAPI) /open/

OpenPipelineTaskResource

Op*Resource

运营管理接口 /op/

OpProjectResource

注解使用标准

API 定义

@RestResource // REST 资源实现类 @Path("/user/artifactories") @GET / @POST / @PUT / @DELETE @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON)

Swagger 文档

@Tag(name = "USER_ARTIFACTORY", description = "版本仓库-仓库资源") @Operation(summary = "根据元数据获取文件") @Parameter(description = "用户ID", required = true)

参数校验

@BkField(minLength = 1, maxLength = 128) @BkField(patternStyle = BkStyleEnum.CODE_STYLE)

方法命名约定

操作 命名前缀

查询 get* , query* , list* , search*

创建 create* , upload* , archive*

修改 update* , modify*

删除 delete* , clear* , remove*

强制规则

  • ✅ 服务间通过 API 接口通信,禁止直接访问其他服务的数据库

  • ✅ 依赖关系在 build.gradle.kts 中明确声明

  • ❌ 禁止循环依赖

  • ❌ 禁止手写 SQL,使用 JOOQ

Checklist

开发后端功能前确认:

  • 功能归属到合理的现有服务

  • Resource 命名符合前缀规范

  • 使用构造器注入依赖

  • 返回值使用 Result<T> 包装

  • 添加 Swagger 注解生成文档

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

frontend-vue-development

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

go-agent-development

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

managing-devops-pipeline

No summary provided by upstream source.

Repository SourceNeeds Review