Token导航 LogoToken导航TokenDH.com
运维和基础设施需要联网github未标认证来源可访问clear审计异常

microservice-infrastructure微服务基础设施

Agent Skill

microservice-infrastructure 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

979

周安装

40

GitHub Stars

2,520

下载量

317
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:microservice-infrastructure(微服务基础设施)
来源仓库:https://github.com/tencentblueking/bk-ci
仓库路径:skills/microservice-infrastructure
安装命令:
npx skills add https://github.com/tencentblueking/bk-ci --skill microservice-infrastructure
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/tencentblueking/bk-ci --skill microservice-infrastructure

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合围绕仓库状态、代码变更进行整理。
  • 可结合来源仓库和原始 README 核验具体用法。
  • 安装前建议确认权限范围和维护状态。microservice-infrastructure 属于运维和基础设施类 Skill,可作为该场景下的辅助能力补充。
  • 注意是否会触发联网、命令执行或文件读写。

SKILL.md

微服务基础设施指南

Skill 概述

本 Skill 涵盖了 BK-CI 微服务架构中的 4 大核心基础设施,这些是构建分布式系统的基石,与 Spring Cloud/Spring Boot 框架深度集成。

核心主题

主题说明文档
条件配置Profile 配置、特性开关、环境隔离[1-conditional-config.md]
事件驱动MQ 消息队列、发布订阅、异步处理[2-event-driven.md]
服务间通信Feign 客户端、服务发现、熔断降级[3-service-communication.md]
国际化与日志i18n 多语言、日志规范、敏感信息脱敏[4-i18n-logging.md]

微服务基础设施架构

架构视图

┌─────────────────────────────────────────────────────────────────┐
│                    BK-CI 微服务集群                              │
│  Process / Project / Store / Auth / Repository / Dispatch...   │
└─────────────────────────────────────────────────────────────────┘
                             ↓
        ┌────────────────────┼────────────────────┐
        │                    │                    │
   ┌────▼────┐         ┌────▼────┐         ┌────▼────┐
   │ Feign   │         │  MQ     │         │ Config  │
   │ 服务调用 │         │ 事件驱动 │         │ 配置中心 │
   └─────────┘         └─────────┘         └─────────┘
        │                    │                    │
        └────────────────────┼────────────────────┘
                             ↓
┌─────────────────────────────────────────────────────────────────┐
│                    微服务基础设施层                              │
├─────────────────────────────────────────────────────────────────┤
│  • 条件配置(多环境隔离)                                        │
│  • 事件驱动(异步解耦)                                          │
│  • 服务间通信(负载均衡、熔断)                                   │
│  • 国际化与日志(可观测性)                                      │
└─────────────────────────────────────────────────────────────────┘

使用指南

场景 1:配置多环境(开发/测试/生产)

需求: 不同环境使用不同配置、特性开关

步骤:

  1. 查阅 reference/1-conditional-config.md
  2. 使用 @Profile 注解或 @Conditional
  3. 配置 application-{profile}.yml
  4. 实现特性开关逻辑

典型问题:

  • 如何动态切换环境配置?
  • 特性开关如何实现?
  • 配置优先级如何确定?

场景 2:实现事件驱动架构

需求: 异步处理、模块解耦、事件溯源

步骤:

  1. 查阅 reference/2-event-driven.md
  2. 定义事件类(实现 IEvent 接口)
  3. 发布事件到 MQ
  4. 订阅并处理事件

典型问题:

  • 如何发布事件?
  • 如何订阅消息队列?
  • 事件丢失如何处理?

场景 3:服务间调用

需求: 跨服务通信、负载均衡、熔断降级

步骤:

  1. 查阅 reference/3-service-communication.md
  2. 定义 Feign 客户端接口
  3. 配置服务发现(Consul)
  4. 实现熔断降级逻辑

典型问题:

  • Feign 客户端如何定义?
  • 超时时间如何配置?
  • 服务降级如何实现?

场景 4:实现国际化与日志规范

需求: 多语言支持、统一日志格式、敏感信息脱敏

步骤:

  1. 查阅 reference/4-i18n-logging.md
  2. 配置 i18n 消息文件(messages_zh_CN.properties
  3. 规范日志输出(使用 SLF4J)
  4. 实现敏感信息脱敏

典型问题:

  • 如何添加新语言?
  • 日志级别如何设置?
  • 密码等敏感信息如何脱敏?

核心类与文件速查

条件配置

类/文件路径说明
@ProfileSpring Boot 内置环境配置注解
@ConditionalSpring Boot 内置条件化 Bean 加载
application-*.ymlsrc/main/resources/多环境配置文件

事件驱动

类/文件路径说明
IEventcommon-event/pojo/IEvent.kt事件接口
EventDispatchercommon-event/dispatcher/事件分发器
EventListenercommon-event/listener/事件监听器

服务间通信

类/文件路径说明
Clientcommon-client/Client.ktFeign 客户端基类
ServiceXXXResourceapi-*/api/服务接口定义

国际化与日志

目录/文件路径说明
i18n/support-files/i18n/国际化消息文件
messages_*.propertiessupport-files/i18n/多语言配置

开发规范

1. 条件配置规范

  • ✅ 环境相关配置使用 @Profile 注解
  • ✅ 特性开关使用 @ConditionalOnProperty
  • ✅ 敏感配置(密码、密钥)加密存储
  • ✅ 配置文件按环境分离(application-dev.yml

2. 事件驱动规范

  • ✅ 事件类实现 IEvent 接口
  • ✅ 事件命名:{Module}{Action}Event(如 PipelineStartEvent
  • ✅ 事件发布使用 EventDispatcher
  • ✅ 事件监听器处理要幂等
  • ✅ 避免同步等待事件处理结果

3. 服务间通信规范

  • ✅ Feign 接口定义在 api-* 模块
  • ✅ 设置合理的超时时间(连接超时 5s,读超时 30s)
  • ✅ 实现服务降级(返回默认值或缓存数据)
  • ✅ 避免服务间循环调用
  • ✅ 关键调用添加链路追踪

4. 国际化与日志规范

  • ✅ 用户可见文案必须国际化
  • ✅ 至少支持中文和英文
  • ✅ 日志使用 SLF4J(不使用 println
  • ✅ 日志级别:ERROR(错误)、WARN(警告)、INFO(关键流程)、DEBUG(调试)
  • ✅ 敏感信息(密码、Token)必须脱敏

与其他 Skill 的关系

microservice-infrastructure (本 Skill)
    ↓ 依赖
backend-microservice-development     # 微服务开发基础
common-technical-practices           # 通用技术实践
    ↓ 被依赖
process-module-architecture          # Process 模块使用这些基础设施
auth-module-architecture             # Auth 模块使用这些基础设施
...                                  # 其他业务模块

前置知识:

  • backend-microservice-development - 了解 Spring Boot/Spring Cloud 基础

相关 Skill:

  • common-technical-practices - 通用技术实践(AOP、锁、重试)
  • process-module-architecture - Process 模块架构(事件驱动应用)

详细文档导航

文档内容行数典型问题
1-conditional-config.md条件配置59如何配置多环境?特性开关如何实现?
2-event-driven.md事件驱动架构88如何发布事件?事件丢失如何处理?
3-service-communication.md服务间通信104Feign 如何配置?超时如何处理?
4-i18n-logging.md国际化与日志67如何添加新语言?敏感信息如何脱敏?

常见问题 FAQ

Q1: 如何根据环境切换配置?

A:

  1. 创建 application-{profile}.yml(如 application-dev.yml
  2. 启动时指定:--spring.profiles.active=dev
  3. 或使用 @Profile("dev") 注解

Q2: 事件发布后如何保证消费?

A:

  1. 使用 持久化队列(RabbitMQ)
  2. 消费失败后 自动重试
  3. 最终失败进入 死信队列
  4. 监控死信队列并告警

Q3: Feign 调用超时如何处理?

A:

  1. 配置合理的超时时间(连接 5s,读 30s)
  2. 实现 服务降级 返回默认值
  3. 添加 重试机制(幂等操作)
  4. 使用 熔断器 快速失败

Q4: 服务间循环调用如何避免?

A:

  1. 禁止双向依赖(A 调 B,B 不能调 A)
  2. 使用 事件驱动 解耦
  3. 引入 中间服务 打破循环
  4. 代码 Review 时检查依赖关系

Q5: 如何添加新的语言支持?

A:

  1. support-files/i18n/ 下创建 messages_{locale}.properties
  2. 如添加日文:messages_ja_JP.properties
  3. 翻译所有 key 的内容
  4. 重启服务生效

Q6: 日志打印过多影响性能?

A:

  1. 生产环境使用 INFO 级别(不用 DEBUG)
  2. 避免在循环中打印日志
  3. 使用 异步日志(Logback AsyncAppender)
  4. 定期清理旧日志

Q7: 敏感信息如何脱敏?

A:

// 密码脱敏
logger.info("User login: username={}, password={}", username, "******")

// Token 脱敏(显示前4后4)
logger.info("Token: {}...{}", token.take(4), token.takeLast(4))

// 手机号脱敏(显示前3后4)
logger.info("Phone: {}****{}", phone.take(3), phone.takeLast(4))

总结

本 Skill 涵盖了 BK-CI 微服务架构的 4 大核心基础设施,这些是构建分布式系统的基石。

学习路径:

  1. 先了解微服务基础(backend-microservice-development
  2. 按需深入具体技术(配置/事件/通信/日志)
  3. 在实际开发中应用并总结经验

最佳实践:

  • ✅ 多环境隔离使用条件配置
  • ✅ 模块解耦使用事件驱动
  • ✅ 服务间调用实现熔断降级
  • ✅ 用户文案必须国际化
  • ✅ 敏感信息必须脱敏

掌握这些基础设施,让你的微服务架构更加健壮和可维护!🚀

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

28.49%
按下载量换算90

Gemini CLI

24.74%
按下载量换算78

OpenCode

20.3%
按下载量换算64

Cursor

13.09%
按下载量换算41

Antigravity

7.92%
按下载量换算25

Codex

3.54%
按下载量换算11

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills