microservice-infrastructure
27
总安装量
22
周安装量
#13456
全站排名
安装命令
npx skills add https://github.com/tencentblueking/bk-ci --skill microservice-infrastructure
Agent 安装分布
claude-code
14
gemini-cli
13
opencode
12
antigravity
10
cursor
10
Skill 文档
å¾®æå¡åºç¡è®¾æ½æå
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ï¼é ç½®å¤ç¯å¢ï¼å¼å/æµè¯/ç产ï¼
éæ±: ä¸åç¯å¢ä½¿ç¨ä¸åé ç½®ãç¹æ§å¼å ³
æ¥éª¤:
- æ¥é reference/1-conditional-config.md
- 使ç¨
@Profile注解æ@Conditional - é
ç½®
application-{profile}.yml - å®ç°ç¹æ§å¼å ³é»è¾
å ¸åé®é¢:
- å¦ä½å¨æåæ¢ç¯å¢é ç½®ï¼
- ç¹æ§å¼å ³å¦ä½å®ç°ï¼
- é ç½®ä¼å 级å¦ä½ç¡®å®ï¼
åºæ¯ 2ï¼å®ç°äºä»¶é©±å¨æ¶æ
éæ±: 弿¥å¤çãæ¨¡åè§£è¦ãäºä»¶æº¯æº
æ¥éª¤:
- æ¥é reference/2-event-driven.md
- å®ä¹äºä»¶ç±»ï¼å®ç°
IEventæ¥å£ï¼ - åå¸äºä»¶å° MQ
- 订é å¹¶å¤çäºä»¶
å ¸åé®é¢:
- å¦ä½åå¸äºä»¶ï¼
- å¦ä½è®¢é æ¶æ¯éåï¼
- äºä»¶ä¸¢å¤±å¦ä½å¤çï¼
åºæ¯ 3ï¼æå¡é´è°ç¨
éæ±: è·¨æå¡éä¿¡ãè´è½½åè¡¡ãçæé级
æ¥éª¤:
- æ¥é reference/3-service-communication.md
- å®ä¹ Feign 客æ·ç«¯æ¥å£
- é ç½®æå¡åç°ï¼Consulï¼
- å®ç°çæé级é»è¾
å ¸åé®é¢:
- Feign 客æ·ç«¯å¦ä½å®ä¹ï¼
- è¶ æ¶æ¶é´å¦ä½é ç½®ï¼
- æå¡é级å¦ä½å®ç°ï¼
åºæ¯ 4ï¼å®ç°å½é å䏿¥å¿è§è
éæ±: å¤è¯è¨æ¯æãç»ä¸æ¥å¿æ ¼å¼ãææä¿¡æ¯è±æ
æ¥éª¤:
- æ¥é reference/4-i18n-logging.md
- é
ç½® i18n æ¶æ¯æä»¶ï¼
messages_zh_CN.propertiesï¼ - è§èæ¥å¿è¾åºï¼ä½¿ç¨ SLF4Jï¼
- å®ç°ææä¿¡æ¯è±æ
å ¸åé®é¢:
- å¦ä½æ·»å æ°è¯è¨ï¼
- æ¥å¿çº§å«å¦ä½è®¾ç½®ï¼
- å¯ç çææä¿¡æ¯å¦ä½è±æï¼
æ ¸å¿ç±»ä¸æä»¶éæ¥
æ¡ä»¶é ç½®
| ç±»/æä»¶ | è·¯å¾ | 说æ |
|---|---|---|
@Profile |
Spring Boot å ç½® | ç¯å¢é 置注解 |
@Conditional |
Spring Boot å ç½® | æ¡ä»¶å Bean å è½½ |
application-*.yml |
src/main/resources/ |
å¤ç¯å¢é ç½®æä»¶ |
äºä»¶é©±å¨
| ç±»/æä»¶ | è·¯å¾ | 说æ |
|---|---|---|
IEvent |
common-event/pojo/IEvent.kt |
äºä»¶æ¥å£ |
EventDispatcher |
common-event/dispatcher/ |
äºä»¶ååå¨ |
EventListener |
common-event/listener/ |
äºä»¶çå¬å¨ |
æå¡é´éä¿¡
| ç±»/æä»¶ | è·¯å¾ | 说æ |
|---|---|---|
Client |
common-client/Client.kt |
Feign 客æ·ç«¯åºç±» |
ServiceXXXResource |
api-*/api/ |
æå¡æ¥å£å®ä¹ |
å½é å䏿¥å¿
| ç®å½/æä»¶ | è·¯å¾ | 说æ |
|---|---|---|
i18n/ |
support-files/i18n/ |
å½é åæ¶æ¯æä»¶ |
messages_*.properties |
support-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 | æå¡é´éä¿¡ | 104 | Feign å¦ä½é ç½®ï¼è¶ æ¶å¦ä½å¤çï¼ |
| 4-i18n-logging.md | å½é å䏿¥å¿ | 67 | å¦ä½æ·»å æ°è¯è¨ï¼ææä¿¡æ¯å¦ä½è±æï¼ |
常è§é®é¢ FAQ
Q1: å¦ä½æ ¹æ®ç¯å¢åæ¢é ç½®ï¼
A:
- å建
application-{profile}.ymlï¼å¦application-dev.ymlï¼ - å¯å¨æ¶æå®ï¼
--spring.profiles.active=dev - æä½¿ç¨
@Profile("dev")注解
Q2: äºä»¶åå¸åå¦ä½ä¿è¯æ¶è´¹ï¼
A:
- ä½¿ç¨ æä¹ åéåï¼RabbitMQï¼
- æ¶è´¹å¤±è´¥å èªå¨éè¯
- æç»å¤±è´¥è¿å ¥ æ»ä¿¡éå
- çæ§æ»ä¿¡éåå¹¶åè¦
Q3: Feign è°ç¨è¶ æ¶å¦ä½å¤çï¼
A:
- é ç½®åççè¶ æ¶æ¶é´ï¼è¿æ¥ 5sï¼è¯» 30sï¼
- å®ç° æå¡é级 è¿åé»è®¤å¼
- æ·»å éè¯æºå¶ï¼å¹çæä½ï¼
- ä½¿ç¨ çæå¨ å¿«é失败
Q4: æå¡é´å¾ªç¯è°ç¨å¦ä½é¿å ï¼
A:
- ç¦æ¢ååä¾èµï¼A è° Bï¼B ä¸è½è° Aï¼
- ä½¿ç¨ äºä»¶é©±å¨ è§£è¦
- å¼å ¥ ä¸é´æå¡ æç ´å¾ªç¯
- 代ç Review æ¶æ£æ¥ä¾èµå ³ç³»
Q5: å¦ä½æ·»å æ°çè¯è¨æ¯æï¼
A:
- å¨
support-files/i18n/ä¸å建messages_{locale}.properties - 妿·»å æ¥æï¼
messages_ja_JP.properties - ç¿»è¯ææ key çå 容
- é坿å¡çæ
Q6: æ¥å¿æå°è¿å¤å½±åæ§è½ï¼
A:
- ç产ç¯å¢ä½¿ç¨ INFO 级å«ï¼ä¸ç¨ DEBUGï¼
- é¿å å¨å¾ªç¯ä¸æå°æ¥å¿
- ä½¿ç¨ å¼æ¥æ¥å¿ï¼Logback AsyncAppenderï¼
- å®ææ¸ çæ§æ¥å¿
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 å¤§æ ¸å¿åºç¡è®¾æ½ï¼è¿äºæ¯æå»ºåå¸å¼ç³»ç»çåºç³ã
å¦ä¹ è·¯å¾:
- å
äºè§£å¾®æå¡åºç¡ï¼
backend-microservice-developmentï¼ - æéæ·±å ¥å ·ä½ææ¯ï¼é ç½®/äºä»¶/éä¿¡/æ¥å¿ï¼
- å¨å®é å¼åä¸åºç¨å¹¶æ»ç»ç»éª
æä½³å®è·µ:
- â å¤ç¯å¢éç¦»ä½¿ç¨æ¡ä»¶é ç½®
- â æ¨¡åè§£è¦ä½¿ç¨äºä»¶é©±å¨
- â æå¡é´è°ç¨å®ç°çæé级
- â ç¨æ·ææ¡å¿ é¡»å½é å
- â ææä¿¡æ¯å¿ é¡»è±æ
ææ¡è¿äºåºç¡è®¾æ½ï¼è®©ä½ çå¾®æå¡æ¶ææ´å å¥å£®åå¯ç»´æ¤ï¼ð