@umacloud/knowledge 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/00-governance/governance-capabilities.md +557 -0
  2. package/00-governance/knowledge-map.md +39 -0
  3. package/00-governance/maintenance-policy.md +76 -0
  4. package/00-governance/review-checklist.md +81 -0
  5. package/README.md +13 -0
  6. package/ai/01-standards/agent-development-complete.md +691 -0
  7. package/ai/01-standards/llm-application-complete.md +488 -0
  8. package/ai/01-standards/mlops-complete.md +798 -0
  9. package/ai/01-standards/prompt-engineering-complete.md +646 -0
  10. package/ai/01-standards/rag-architecture-complete.md +649 -0
  11. package/ai/02-playbooks/llm-evaluation-playbook.md +847 -0
  12. package/ai/03-checklists/ai-project-checklist.md +215 -0
  13. package/ai/04-antipatterns/ai-antipatterns.md +661 -0
  14. package/ai/05-cases/case-rag-production.md +147 -0
  15. package/ai/06-glossary/ai-glossary.md +162 -0
  16. package/ai/agent-evaluation-benchmark.md +53 -0
  17. package/ai/ai-agent-memory-context-management.md +41 -0
  18. package/ai/ai-cost-capacity-optimization-playbook.md +42 -0
  19. package/ai/ai-data-security-and-compliance-playbook.md +37 -0
  20. package/ai/ai-domain-index-and-checklist.md +40 -0
  21. package/ai/ai-governance-maturity-model.md +50 -0
  22. package/ai/ai-model-selection-and-routing-strategy.md +47 -0
  23. package/ai/ai-observability-and-oncall-runbook.md +52 -0
  24. package/ai/ai-rag-engineering-playbook.md +42 -0
  25. package/ai/ai-red-team-and-safety-evaluation.md +42 -0
  26. package/ai/ai-release-readiness-and-rollback-gate.md +42 -0
  27. package/ai/llm-agent-engineering-deep-dive.md +57 -0
  28. package/ai/prompt-and-tool-guardrails.md +52 -0
  29. package/api/01-standards/enterprise-api-standards.md +198 -0
  30. package/api/01-standards/rest-api-design-guide.md +63 -0
  31. package/api/02-playbooks/api-pagination-playbook.md +93 -0
  32. package/api/02-playbooks/graphql-production-playbook.md +176 -0
  33. package/api/03-checklists/api-review-checklist.md +55 -0
  34. package/api/04-antipatterns/api-antipatterns.md +112 -0
  35. package/architecture/01-standards/api-gateway-patterns.md +496 -0
  36. package/architecture/01-standards/cloud-native-patterns.md +644 -0
  37. package/architecture/01-standards/distributed-systems-patterns.md +591 -0
  38. package/architecture/01-standards/event-driven-architecture.md +595 -0
  39. package/architecture/01-standards/microservices-patterns-complete.md +968 -0
  40. package/architecture/01-standards/microservices-patterns.md +495 -0
  41. package/architecture/01-standards/system-design-interview.md +664 -0
  42. package/architecture/02-playbooks/microservices-patterns-playbook.md +137 -0
  43. package/architecture/02-playbooks/migration-playbook.md +780 -0
  44. package/architecture/02-playbooks/system-design-playbook.md +779 -0
  45. package/architecture/03-checklists/architecture-decision-checklist.md +297 -0
  46. package/architecture/04-antipatterns/architecture-antipatterns.md +417 -0
  47. package/architecture/05-cases/case-netflix-microservices.md +413 -0
  48. package/architecture/06-glossary/architecture-glossary.md +164 -0
  49. package/architecture/adr-template-and-examples.md +38 -0
  50. package/architecture/api-gateway-deep-dive.md +1291 -0
  51. package/architecture/configuration-management.md +1162 -0
  52. package/architecture/distributed-transactions.md +1220 -0
  53. package/architecture/microservices-complete.md +735 -0
  54. package/architecture/resilience-and-disaster-patterns.md +37 -0
  55. package/architecture/service-governance.md +1198 -0
  56. package/architecture/system-architecture-deep-dive.md +37 -0
  57. package/backend/01-standards/analytics-and-growth.md +65 -0
  58. package/backend/01-standards/api-and-error-conventions.md +120 -0
  59. package/backend/01-standards/application-layering-and-packaging.md +160 -0
  60. package/backend/01-standards/auth-implementation.md +104 -0
  61. package/backend/01-standards/backend-framework-idioms.md +74 -0
  62. package/backend/01-standards/background-jobs-and-async.md +66 -0
  63. package/backend/01-standards/caching-strategies-complete.md +390 -0
  64. package/backend/01-standards/config-and-observability.md +77 -0
  65. package/backend/01-standards/data-modeling-and-persistence.md +94 -0
  66. package/backend/01-standards/django-complete.md +1765 -0
  67. package/backend/01-standards/email-and-notifications.md +64 -0
  68. package/backend/01-standards/fastapi-complete.md +925 -0
  69. package/backend/01-standards/file-upload-and-storage.md +66 -0
  70. package/backend/01-standards/graphql-api-complete.md +416 -0
  71. package/backend/01-standards/llm-application-standard.md +78 -0
  72. package/backend/01-standards/message-queue-patterns.md +379 -0
  73. package/backend/01-standards/microservices-and-distributed.md +78 -0
  74. package/backend/01-standards/nestjs-complete.md +2167 -0
  75. package/backend/01-standards/payment-integration.md +80 -0
  76. package/backend/01-standards/rate-limiting-complete.md +451 -0
  77. package/backend/01-standards/realtime-and-websocket.md +65 -0
  78. package/backend/01-standards/search-and-filtering.md +64 -0
  79. package/backend/01-standards/spring-boot-complete.md +445 -0
  80. package/backend/02-playbooks/api-design-playbook.md +718 -0
  81. package/backend/02-playbooks/email-send-playbook.md +130 -0
  82. package/backend/02-playbooks/file-upload-s3-playbook.md +153 -0
  83. package/backend/02-playbooks/typescript-enterprise-playbook.md +133 -0
  84. package/backend/02-playbooks/websocket-realtime-playbook.md +154 -0
  85. package/backend/03-checklists/api-launch-checklist.md +189 -0
  86. package/backend/04-antipatterns/backend-antipatterns.md +1051 -0
  87. package/blockchain/01-standards/blockchain-basics.md +557 -0
  88. package/blockchain/01-standards/smart-contract-development.md +1315 -0
  89. package/cicd/01-standards/deployment-and-delivery-standard.md +96 -0
  90. package/cicd/01-standards/github-actions-complete.md +473 -0
  91. package/cicd/01-standards/release-and-store-submission.md +75 -0
  92. package/cicd/02-playbooks/cicd-pipeline-playbook.md +144 -0
  93. package/cicd/02-playbooks/release-management-playbook.md +605 -0
  94. package/cicd/03-checklists/pipeline-security-checklist.md +168 -0
  95. package/cicd/04-antipatterns/cicd-antipatterns.md +589 -0
  96. package/cicd/05-cases/case-deployment-automation.md +221 -0
  97. package/cicd/05-cases/case-gitops-transformation.md +212 -0
  98. package/cicd/06-glossary/cicd-glossary.md +114 -0
  99. package/cicd/cicd-blueprint-deep-dive.md +38 -0
  100. package/cicd/release-readiness-gate.md +37 -0
  101. package/cloud-native/01-standards/container-security.md +741 -0
  102. package/cloud-native/01-standards/kubernetes-complete.md +812 -0
  103. package/cloud-native/02-playbooks/api-gateway-playbook.md +155 -0
  104. package/cloud-native/02-playbooks/gitops-with-argocd.md +760 -0
  105. package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +1942 -0
  106. package/cloud-native/02-playbooks/message-queue-playbook.md +129 -0
  107. package/cloud-native/02-playbooks/multicloud-governance.md +726 -0
  108. package/cloud-native/02-playbooks/serverless-patterns.md +788 -0
  109. package/cloud-native/02-playbooks/service-mesh-playbook.md +612 -0
  110. package/cloud-native/02-playbooks/terraform-iac-playbook.md +143 -0
  111. package/cloud-native/03-checklists/container-security-checklist.md +431 -0
  112. package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +460 -0
  113. package/cloud-native/04-antipatterns/container-antipatterns.md +660 -0
  114. package/cloud-native/04-antipatterns/k8s-antipatterns.md +743 -0
  115. package/cloud-native/05-cases/case-k8s-migration.md +478 -0
  116. package/cloud-native/05-cases/case-k8s-scaling.md +642 -0
  117. package/cloud-native/05-cases/case-k8s-security-incident.md +397 -0
  118. package/cloud-native/06-glossary/cloud-native-glossary.md +337 -0
  119. package/cross-platform/01-standards/cross-platform-frameworks.md +83 -0
  120. package/cross-platform/01-standards/platform-selection-and-architecture.md +77 -0
  121. package/data/01-standards/elasticsearch-complete.md +2098 -0
  122. package/data/01-standards/postgresql-complete.md +1613 -0
  123. package/data/01-standards/redis-complete.md +1527 -0
  124. package/data/02-playbooks/database-optimization-playbook.md +403 -0
  125. package/data/02-playbooks/elasticsearch-production-playbook.md +132 -0
  126. package/data/03-checklists/database-launch-checklist.md +187 -0
  127. package/data/04-antipatterns/database-antipatterns.md +873 -0
  128. package/data/05-cases/case-database-migration.md +310 -0
  129. package/data/06-glossary/database-glossary.md +440 -0
  130. package/data/data-governance-and-modeling-deep-dive.md +39 -0
  131. package/data-engineering/01-standards/airflow-complete.md +523 -0
  132. package/data-engineering/01-standards/kafka-complete.md +1521 -0
  133. package/data-engineering/02-playbooks/spark-etl-playbook.md +496 -0
  134. package/data-engineering/03-checklists/pipeline-launch-checklist.md +194 -0
  135. package/data-engineering/04-antipatterns/data-pipeline-antipatterns.md +684 -0
  136. package/data-engineering/05-cases/case-real-time-pipeline.md +355 -0
  137. package/data-engineering/06-glossary/data-engineering-glossary.md +429 -0
  138. package/database/01-standards/database-schema-standards.md +147 -0
  139. package/database/02-playbooks/postgresql-optimization-quick.md +52 -0
  140. package/database/02-playbooks/postgresql-performance-optimization.md +58 -0
  141. package/database/02-playbooks/postgresql-production-playbook.md +146 -0
  142. package/database/02-playbooks/redis-caching-playbook.md +117 -0
  143. package/database/03-checklists/database-review-checklist.md +50 -0
  144. package/database/04-antipatterns/database-antipatterns.md +112 -0
  145. package/design/01-standards/ui-design-system-complete.md +423 -0
  146. package/design/02-playbooks/design-handoff-playbook.md +254 -0
  147. package/design/02-playbooks/design-review-playbook.md +388 -0
  148. package/design/03-checklists/design-review-checklist.md +246 -0
  149. package/design/04-antipatterns/design-antipatterns.md +378 -0
  150. package/design/05-cases/case-design-system-adoption.md +328 -0
  151. package/design/06-glossary/design-glossary.md +329 -0
  152. package/design/ui-full-lifecycle-cross-platform-playbook.md +571 -0
  153. package/design/ux-system-deep-dive.md +38 -0
  154. package/design-systems/00-craft-rules.md +71 -0
  155. package/design-systems/aesthetic-families.md +43 -0
  156. package/design-systems/anti-ai-slop.md +162 -0
  157. package/design-systems/bold-geometric.md +120 -0
  158. package/design-systems/brutalist-bold.md +103 -0
  159. package/design-systems/editorial-clean.md +109 -0
  160. package/design-systems/glass-aurora.md +108 -0
  161. package/design-systems/modern-minimal.md +145 -0
  162. package/design-systems/premium-luxury.md +106 -0
  163. package/design-systems/product-type-design-map.md +48 -0
  164. package/design-systems/soft-warm.md +123 -0
  165. package/design-systems/tech-utility.md +113 -0
  166. package/desktop/01-standards/desktop-app-standard.md +72 -0
  167. package/desktop/01-standards/desktop-design.md +71 -0
  168. package/development/00-governance/document-template.md +41 -0
  169. package/development/01-standards/api-versioning-strategies.md +432 -0
  170. package/development/01-standards/authentication-patterns-complete.md +479 -0
  171. package/development/01-standards/css-architecture-complete.md +550 -0
  172. package/development/01-standards/database-migration-strategies.md +484 -0
  173. package/development/01-standards/elasticsearch-complete.md +347 -0
  174. package/development/01-standards/git-complete.md +371 -0
  175. package/development/01-standards/golang-complete.md +1565 -0
  176. package/development/01-standards/graphql-complete.md +298 -0
  177. package/development/01-standards/javascript-bundlers-complete.md +469 -0
  178. package/development/01-standards/javascript-typescript-complete.md +528 -0
  179. package/development/01-standards/jest-complete.md +275 -0
  180. package/development/01-standards/linux-complete.md +234 -0
  181. package/development/01-standards/logging-observability-complete.md +526 -0
  182. package/development/01-standards/microservices-communication.md +502 -0
  183. package/development/01-standards/mongodb-complete.md +406 -0
  184. package/development/01-standards/oauth2-complete.md +285 -0
  185. package/development/01-standards/performance-optimization-complete.md +289 -0
  186. package/development/01-standards/playwright-complete.md +247 -0
  187. package/development/01-standards/postgresql-complete.md +456 -0
  188. package/development/01-standards/pytest-complete.md +340 -0
  189. package/development/01-standards/python-async-programming.md +902 -0
  190. package/development/01-standards/python-complete.md +956 -0
  191. package/development/01-standards/python-decorators-complete.md +799 -0
  192. package/development/01-standards/python-design-patterns.md +2854 -0
  193. package/development/01-standards/python-packaging-distribution.md +420 -0
  194. package/development/01-standards/python-testing-strategies.md +607 -0
  195. package/development/01-standards/python-web-frameworks-comparison.md +471 -0
  196. package/development/01-standards/redis-complete.md +317 -0
  197. package/development/01-standards/rest-api-complete.md +316 -0
  198. package/development/01-standards/rust-complete.md +578 -0
  199. package/development/01-standards/typescript-advanced-types.md +1513 -0
  200. package/development/01-standards/web-security-complete.md +292 -0
  201. package/development/02-playbooks/api-design-playbook.md +810 -0
  202. package/development/02-playbooks/database-migration-playbook.md +580 -0
  203. package/development/02-playbooks/debugging-playbook.md +692 -0
  204. package/development/02-playbooks/feature-delivery-playbook.md +430 -0
  205. package/development/02-playbooks/incident-hotfix-playbook.md +387 -0
  206. package/development/02-playbooks/performance-optimization-playbook.md +531 -0
  207. package/development/02-playbooks/performance-tuning-playbook.md +652 -0
  208. package/development/02-playbooks/refactor-playbook.md +403 -0
  209. package/development/02-playbooks/release-playbook.md +469 -0
  210. package/development/03-checklists/architecture-review-checklist.md +168 -0
  211. package/development/03-checklists/data-migration-checklist.md +157 -0
  212. package/development/03-checklists/oncall-handover-checklist.md +173 -0
  213. package/development/03-checklists/pr-checklist.md +158 -0
  214. package/development/03-checklists/production-readiness-checklist.md +190 -0
  215. package/development/03-checklists/release-readiness-checklist.md +154 -0
  216. package/development/03-checklists/security-review-checklist.md +182 -0
  217. package/development/04-antipatterns/api-antipatterns.md +657 -0
  218. package/development/04-antipatterns/architecture-antipatterns.md +686 -0
  219. package/development/04-antipatterns/backend-antipatterns.md +648 -0
  220. package/development/04-antipatterns/cicd-antipatterns.md +540 -0
  221. package/development/04-antipatterns/code-smell-antipatterns.md +571 -0
  222. package/development/04-antipatterns/data-antipatterns.md +658 -0
  223. package/development/04-antipatterns/database-antipatterns.md +578 -0
  224. package/development/04-antipatterns/frontend-antipatterns.md +635 -0
  225. package/development/04-antipatterns/reliability-antipatterns.md +700 -0
  226. package/development/04-antipatterns/security-antipatterns.md +747 -0
  227. package/development/05-cases/case-api-version-migration.md +428 -0
  228. package/development/05-cases/case-authorization-hardening.md +383 -0
  229. package/development/05-cases/case-bluegreen-rollback.md +466 -0
  230. package/development/05-cases/case-cache-snowball-protection.md +485 -0
  231. package/development/05-cases/case-ci-cd-pipeline.md +544 -0
  232. package/development/05-cases/case-database-scaling.md +500 -0
  233. package/development/05-cases/case-db-hotspot-optimization.md +487 -0
  234. package/development/05-cases/case-incident-mttr-reduction.md +563 -0
  235. package/development/05-cases/case-microservice-migration.md +375 -0
  236. package/development/05-cases/case-performance-optimization.md +406 -0
  237. package/development/05-cases/case-security-incident-response.md +345 -0
  238. package/development/06-glossary/full-stack-glossary.md +166 -0
  239. package/development/09-maturity/quarterly-audit-template.md +35 -0
  240. package/development/11-ui-excellence/ui-aesthetic-system.md +41 -0
  241. package/development/11-ui-excellence/ui-engineering-excellence.md +435 -0
  242. package/development/12-scenarios/development-scenarios-guide.md +565 -0
  243. package/development/13-implementation-assets/implementation-toolkit.md +282 -0
  244. package/development/13-implementation-assets/knowledge-gates-execution.md +43 -0
  245. package/development/14-full-lifecycle/software-lifecycle-gates.md +511 -0
  246. package/development/15-lifecycle-templates/project-templates-collection.md +791 -0
  247. package/development/api-contract-and-versioning-guide.md +36 -0
  248. package/development/api-governance-complete.md +43 -0
  249. package/development/backend-engineering-complete.md +43 -0
  250. package/development/code-review-quality-complete.md +43 -0
  251. package/development/concurrency-reliability-complete.md +43 -0
  252. package/development/database-engineering-complete.md +43 -0
  253. package/development/engineering-effectiveness-complete.md +43 -0
  254. package/development/engineering-standards-deep-dive.md +38 -0
  255. package/development/frontend-engineering-complete.md +43 -0
  256. package/development/performance-capacity-complete.md +43 -0
  257. package/development/refactor-migration-complete.md +42 -0
  258. package/development/refactoring-and-techdebt-playbook.md +37 -0
  259. package/development/security-in-development-complete.md +43 -0
  260. package/devops/01-standards/cicd-pipeline-complete.md +262 -0
  261. package/devops/01-standards/docker-complete.md +1490 -0
  262. package/devops/01-standards/github-actions-complete.md +337 -0
  263. package/devops/01-standards/kubernetes-complete.md +638 -0
  264. package/devops/01-standards/terraform-complete.md +2117 -0
  265. package/devops/02-playbooks/docker-compose-playbook.md +233 -0
  266. package/devops/02-playbooks/docker-k8s-production-playbook.md +186 -0
  267. package/devops/02-playbooks/docker-production-playbook.md +952 -0
  268. package/edge-iot/01-standards/edge-iot-complete.md +473 -0
  269. package/experts/architect/api-design.md +178 -0
  270. package/experts/architect/methodology.md +124 -0
  271. package/experts/architect/security.md +75 -0
  272. package/experts/backend-lead/methodology.md +216 -0
  273. package/experts/devops/methodology.md +160 -0
  274. package/experts/frontend-lead/methodology.md +178 -0
  275. package/experts/product-manager/industry/ecommerce.md +43 -0
  276. package/experts/product-manager/industry/saas.md +40 -0
  277. package/experts/product-manager/methodology.md +97 -0
  278. package/experts/qa-lead/methodology.md +123 -0
  279. package/experts/qa-lead/test-strategy.md +128 -0
  280. package/experts/uiux-designer/methodology.md +125 -0
  281. package/frontend/01-standards/accessibility-complete.md +532 -0
  282. package/frontend/01-standards/accessibility-standard.md +74 -0
  283. package/frontend/01-standards/admin-dashboard-and-crud.md +72 -0
  284. package/frontend/01-standards/design-tokens-complete.md +444 -0
  285. package/frontend/01-standards/forms-and-validation.md +77 -0
  286. package/frontend/01-standards/frontend-architecture-and-layering.md +119 -0
  287. package/frontend/01-standards/i18n-and-localization.md +65 -0
  288. package/frontend/01-standards/nextjs-complete.md +451 -0
  289. package/frontend/01-standards/react-complete.md +713 -0
  290. package/frontend/01-standards/react-hooks-complete-guide.md +1100 -0
  291. package/frontend/01-standards/react-hooks-complete.md +1171 -0
  292. package/frontend/01-standards/seo-and-web-vitals.md +77 -0
  293. package/frontend/01-standards/state-management-complete.md +444 -0
  294. package/frontend/01-standards/vue-complete.md +499 -0
  295. package/frontend/01-standards/vue3-complete.md +2002 -0
  296. package/frontend/01-standards/web-framework-best-practices.md +64 -0
  297. package/frontend/01-standards/web-performance-complete.md +495 -0
  298. package/frontend/02-playbooks/accessibility-a11y-playbook.md +161 -0
  299. package/frontend/02-playbooks/frontend-performance-playbook.md +707 -0
  300. package/frontend/02-playbooks/i18n-internationalization-playbook.md +120 -0
  301. package/frontend/02-playbooks/performance-optimization-playbook.md +163 -0
  302. package/frontend/02-playbooks/react-nextjs-production-playbook.md +167 -0
  303. package/frontend/02-playbooks/react-state-management-playbook.md +173 -0
  304. package/frontend/03-checklists/component-quality-checklist.md +166 -0
  305. package/frontend/03-checklists/frontend-launch-checklist.md +299 -0
  306. package/frontend/04-antipatterns/frontend-antipatterns.md +886 -0
  307. package/frontend/05-cases/case-performance-optimization.md +274 -0
  308. package/harmony/01-standards/harmonyos-arkts-standard.md +75 -0
  309. package/harmony/01-standards/harmonyos-design.md +65 -0
  310. package/high-quality-engineering-playbook.md +54 -0
  311. package/incident/01-standards/incident-response-complete.md +303 -0
  312. package/incident/02-playbooks/chaos-engineering-playbook.md +883 -0
  313. package/incident/02-playbooks/postmortem-playbook.md +398 -0
  314. package/incident/03-checklists/incident-readiness-checklist.md +181 -0
  315. package/incident/04-antipatterns/incident-antipatterns.md +490 -0
  316. package/incident/05-cases/case-cascade-failure.md +176 -0
  317. package/incident/06-glossary/incident-glossary.md +114 -0
  318. package/incident/postmortem-and-response-deep-dive.md +39 -0
  319. package/industries/ecommerce/ecommerce-complete.md +631 -0
  320. package/industries/education/education-complete.md +555 -0
  321. package/industries/fintech/fintech-complete.md +501 -0
  322. package/industries/gaming/gaming-complete.md +587 -0
  323. package/industries/healthcare/healthcare-complete.md +452 -0
  324. package/low-code/01-standards/low-code-complete.md +944 -0
  325. package/miniprogram/01-standards/ai-common-mistakes.md +61 -0
  326. package/miniprogram/01-standards/miniprogram-custom-navbar-capsule.md +77 -0
  327. package/miniprogram/01-standards/miniprogram-design.md +61 -0
  328. package/miniprogram/01-standards/miniprogram-standard.md +81 -0
  329. package/mobile/01-standards/android-material-design.md +70 -0
  330. package/mobile/01-standards/flutter-complete.md +384 -0
  331. package/mobile/01-standards/ios-design-hig.md +78 -0
  332. package/mobile/01-standards/mobile-app-standard.md +85 -0
  333. package/mobile/01-standards/react-native-complete.md +352 -0
  334. package/mobile/02-playbooks/mobile-cross-platform-playbook.md +175 -0
  335. package/mobile/02-playbooks/mobile-performance.md +473 -0
  336. package/mobile/03-checklists/mobile-release-checklist.md +234 -0
  337. package/mobile/04-antipatterns/mobile-antipatterns.md +798 -0
  338. package/mobile/05-cases/case-app-performance.md +500 -0
  339. package/mobile/05-cases/case-app-startup-optimization.md +218 -0
  340. package/mobile/06-glossary/mobile-glossary.md +484 -0
  341. package/observability/01-standards/observability-standards.md +103 -0
  342. package/observability/02-playbooks/prometheus-grafana-playbook.md +135 -0
  343. package/observability/02-playbooks/structured-logging-playbook.md +73 -0
  344. package/observability/03-checklists/observability-checklist.md +54 -0
  345. package/observability/04-antipatterns/observability-antipatterns.md +106 -0
  346. package/operations/01-standards/prometheus-monitoring-complete.md +1578 -0
  347. package/operations/02-playbooks/capacity-planning-playbook.md +620 -0
  348. package/operations/03-checklists/production-launch-checklist.md +365 -0
  349. package/operations/04-antipatterns/operations-antipatterns.md +664 -0
  350. package/operations/05-cases/case-sre-practices.md +581 -0
  351. package/operations/06-glossary/operations-glossary.md +120 -0
  352. package/operations/aiops-anomaly-detection.md +758 -0
  353. package/operations/capacity-planning.md +1061 -0
  354. package/operations/chaos-engineering.md +659 -0
  355. package/operations/incident-command-system.md +38 -0
  356. package/operations/observability-complete.md +442 -0
  357. package/operations/slo-sli-playbook.md +517 -0
  358. package/operations/sre-operations-deep-dive.md +39 -0
  359. package/package.json +8 -0
  360. package/performance/01-standards/performance-and-scalability.md +80 -0
  361. package/performance/01-standards/performance-standards.md +156 -0
  362. package/performance/02-playbooks/query-optimization-playbook.md +103 -0
  363. package/performance/03-checklists/performance-checklist.md +56 -0
  364. package/performance/04-antipatterns/performance-antipatterns.md +146 -0
  365. package/product/01-standards/product-management-complete.md +285 -0
  366. package/product/02-playbooks/feature-launch-playbook.md +207 -0
  367. package/product/02-playbooks/user-research-playbook.md +532 -0
  368. package/product/03-checklists/feature-launch-checklist.md +275 -0
  369. package/product/04-antipatterns/product-antipatterns.md +355 -0
  370. package/product/05-cases/case-mvp-to-scale.md +384 -0
  371. package/product/06-glossary/product-glossary.md +462 -0
  372. package/product/feature-prioritization-framework.md +40 -0
  373. package/product/kpi-and-metric-tree.md +37 -0
  374. package/product/product-discovery-and-prd-deep-dive.md +41 -0
  375. package/quantum/01-standards/quantum-complete.md +1186 -0
  376. package/security/01-standards/api-security-complete.md +511 -0
  377. package/security/01-standards/container-runtime-security.md +574 -0
  378. package/security/01-standards/data-protection-gdpr.md +543 -0
  379. package/security/01-standards/owasp-top10-complete.md +1890 -0
  380. package/security/01-standards/secure-coding-baseline.md +90 -0
  381. package/security/01-standards/supply-chain-security.md +441 -0
  382. package/security/01-standards/web-security-checklist.md +108 -0
  383. package/security/01-standards/zero-trust-architecture.md +521 -0
  384. package/security/02-playbooks/auth-sso-playbook.md +166 -0
  385. package/security/02-playbooks/incident-response-security-playbook.md +588 -0
  386. package/security/02-playbooks/owasp-api-security-playbook.md +129 -0
  387. package/security/02-playbooks/payment-integration-playbook.md +119 -0
  388. package/security/02-playbooks/penetration-testing-playbook.md +517 -0
  389. package/security/03-checklists/security-audit-checklist.md +356 -0
  390. package/security/04-antipatterns/security-coding-antipatterns.md +580 -0
  391. package/security/05-cases/case-log4shell-incident.md +537 -0
  392. package/security/05-cases/case-major-breaches.md +468 -0
  393. package/security/06-glossary/security-glossary.md +212 -0
  394. package/security/compliance-automation.md +993 -0
  395. package/security/container-security.md +680 -0
  396. package/security/devsecops-complete.md +426 -0
  397. package/security/sast-dast-sca.md +775 -0
  398. package/security/secrets-management.md +594 -0
  399. package/security/security-architecture-deep-dive.md +37 -0
  400. package/security/threat-modeling-stride-playbook.md +40 -0
  401. package/seed-templates/auth-system.md +59 -0
  402. package/seed-templates/blog-content.md +94 -0
  403. package/seed-templates/dashboard.md +89 -0
  404. package/seed-templates/docs-site.md +73 -0
  405. package/seed-templates/e-commerce.md +50 -0
  406. package/seed-templates/saas-landing.md +92 -0
  407. package/seed-templates/settings-page.md +51 -0
  408. package/testing/01-standards/test-strategy-and-layering.md +83 -0
  409. package/testing/01-standards/testing-strategy-complete.md +422 -0
  410. package/testing/01-standards/unit-testing-best-practices.md +118 -0
  411. package/testing/02-playbooks/e2e-testing-playbook.md +988 -0
  412. package/testing/02-playbooks/testing-strategy-playbook.md +126 -0
  413. package/testing/03-checklists/test-strategy-checklist.md +208 -0
  414. package/testing/04-antipatterns/testing-antipatterns.md +718 -0
  415. package/testing/05-cases/case-testing-transformation.md +300 -0
  416. package/testing/06-glossary/testing-glossary.md +110 -0
  417. package/testing/risk-based-test-matrix.md +36 -0
  418. package/testing/testing-strategy-deep-dive.md +37 -0
@@ -0,0 +1,502 @@
1
+ ---
2
+ id: microservices-communication
3
+ title: 微服务通信模式
4
+ domain: development
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [agent, checklist, communication, development, microservices, 场景选型指南, 实战代码示例, 常见陷阱]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 微服务通信模式
12
+
13
+ ## 概述
14
+ 微服务间的通信方式直接影响系统的性能、可靠性和可维护性。本指南覆盖REST、gRPC、GraphQL、事件驱动、消息队列五种核心通信模式,提供选型矩阵和实战代码。
15
+
16
+ ## 核心概念
17
+
18
+ ### 1. 通信模式分类
19
+ - **同步通信**: 调用方等待响应 — REST/gRPC/GraphQL
20
+ - **异步通信**: 调用方不等待响应 — 消息队列/事件驱动
21
+ - **请求-响应**: 一对一通信 — HTTP/gRPC
22
+ - **发布-订阅**: 一对多广播 — Kafka/RabbitMQ/NATS
23
+ - **事件溯源**: 状态变更序列 — Event Store/Kafka
24
+
25
+ ### 2. 通信方式对比
26
+
27
+ | 特性 | REST | gRPC | GraphQL | 消息队列 | 事件驱动 |
28
+ |------|------|------|---------|----------|----------|
29
+ | 模式 | 同步 | 同步/流 | 同步 | 异步 | 异步 |
30
+ | 协议 | HTTP/1.1+ | HTTP/2 | HTTP | AMQP/自定义 | 自定义 |
31
+ | 序列化 | JSON | Protobuf | JSON | 灵活 | 灵活 |
32
+ | 性能 | 中 | 高 | 中 | 高 | 高 |
33
+ | 类型安全 | 弱(需OpenAPI) | 强(.proto) | 中(Schema) | 弱 | 弱(需Schema) |
34
+ | 浏览器支持 | 完美 | 需gRPC-Web | 完美 | 不直接 | WebSocket |
35
+ | 学习曲线 | 低 | 中 | 中 | 中 | 高 |
36
+ | 适用场景 | CRUD/公开API | 内部高频调用 | BFF/聚合 | 解耦/削峰 | 事件流 |
37
+
38
+ ### 3. 通信拓扑
39
+ - **点对点**: 服务直接调用,简单但耦合
40
+ - **API Gateway**: 统一入口,聚合转发
41
+ - **Service Mesh**: Sidecar代理,透明通信(Istio/Linkerd)
42
+ - **Event Bus**: 中心化事件总线(Kafka/RabbitMQ)
43
+
44
+ ## 实战代码示例
45
+
46
+ ### REST — 标准HTTP通信
47
+
48
+ ```python
49
+ # 服务A调用服务B(httpx异步客户端)
50
+ import httpx
51
+ from tenacity import retry, stop_after_attempt, wait_exponential
52
+ from circuitbreaker import circuit
53
+
54
+ class UserServiceClient:
55
+ """用户服务HTTP客户端"""
56
+
57
+ def __init__(self, base_url: str = "http://user-service:8080"):
58
+ self.base_url = base_url
59
+ self.client = httpx.AsyncClient(
60
+ base_url=base_url,
61
+ timeout=httpx.Timeout(connect=5.0, read=10.0, write=5.0, pool=5.0),
62
+ limits=httpx.Limits(max_connections=100, max_keepalive_connections=20),
63
+ )
64
+
65
+ @retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, max=10))
66
+ @circuit(failure_threshold=5, recovery_timeout=30)
67
+ async def get_user(self, user_id: int) -> dict:
68
+ response = await self.client.get(f"/api/v1/users/{user_id}")
69
+ response.raise_for_status()
70
+ return response.json()
71
+
72
+ @retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, max=10))
73
+ async def create_user(self, data: dict) -> dict:
74
+ response = await self.client.post("/api/v1/users", json=data)
75
+ response.raise_for_status()
76
+ return response.json()
77
+
78
+ async def close(self):
79
+ await self.client.aclose()
80
+ ```
81
+
82
+ ### gRPC — 高性能内部通信
83
+
84
+ ```protobuf
85
+ // user.proto
86
+ syntax = "proto3";
87
+ package user.v1;
88
+
89
+ service UserService {
90
+ rpc GetUser(GetUserRequest) returns (GetUserResponse);
91
+ rpc CreateUser(CreateUserRequest) returns (CreateUserResponse);
92
+ rpc ListUsers(ListUsersRequest) returns (stream UserResponse); // 服务端流
93
+ rpc Chat(stream ChatMessage) returns (stream ChatMessage); // 双向流
94
+ }
95
+
96
+ message GetUserRequest {
97
+ int64 user_id = 1;
98
+ }
99
+
100
+ message GetUserResponse {
101
+ int64 id = 1;
102
+ string full_name = 2;
103
+ string email = 3;
104
+ UserProfile profile = 4;
105
+ }
106
+
107
+ message UserProfile {
108
+ string avatar_url = 1;
109
+ string bio = 2;
110
+ }
111
+
112
+ message ListUsersRequest {
113
+ int32 page_size = 1;
114
+ string page_token = 2;
115
+ }
116
+
117
+ message UserResponse {
118
+ int64 id = 1;
119
+ string full_name = 2;
120
+ }
121
+ ```
122
+
123
+ ```python
124
+ # gRPC服务端(Python)
125
+ import grpc
126
+ from concurrent import futures
127
+ import user_pb2
128
+ import user_pb2_grpc
129
+
130
+ class UserServiceServicer(user_pb2_grpc.UserServiceServicer):
131
+
132
+ async def GetUser(self, request, context):
133
+ user = await db.get_user(request.user_id)
134
+ if not user:
135
+ context.set_code(grpc.StatusCode.NOT_FOUND)
136
+ context.set_details(f"User {request.user_id} not found")
137
+ return user_pb2.GetUserResponse()
138
+ return user_pb2.GetUserResponse(
139
+ id=user.id,
140
+ full_name=user.full_name,
141
+ email=user.email,
142
+ )
143
+
144
+ async def ListUsers(self, request, context):
145
+ """服务端流式返回用户列表"""
146
+ async for user in db.stream_users(
147
+ page_size=request.page_size,
148
+ page_token=request.page_token,
149
+ ):
150
+ yield user_pb2.UserResponse(
151
+ id=user.id,
152
+ full_name=user.full_name,
153
+ )
154
+
155
+ async def serve():
156
+ server = grpc.aio.server(futures.ThreadPoolExecutor(max_workers=10))
157
+ user_pb2_grpc.add_UserServiceServicer_to_server(UserServiceServicer(), server)
158
+ server.add_insecure_port('[::]:50051')
159
+ await server.start()
160
+ await server.wait_for_termination()
161
+ ```
162
+
163
+ ```python
164
+ # gRPC客户端
165
+ import grpc
166
+ import user_pb2
167
+ import user_pb2_grpc
168
+
169
+ async def get_user(user_id: int):
170
+ async with grpc.aio.insecure_channel('user-service:50051') as channel:
171
+ stub = user_pb2_grpc.UserServiceStub(channel)
172
+ try:
173
+ response = await stub.GetUser(
174
+ user_pb2.GetUserRequest(user_id=user_id),
175
+ timeout=5.0,
176
+ )
177
+ return {"id": response.id, "name": response.full_name}
178
+ except grpc.aio.AioRpcError as e:
179
+ if e.code() == grpc.StatusCode.NOT_FOUND:
180
+ return None
181
+ raise
182
+ ```
183
+
184
+ ### GraphQL — BFF聚合层
185
+
186
+ ```python
187
+ # Strawberry GraphQL(Python)
188
+ import strawberry
189
+ from strawberry.fastapi import GraphQLRouter
190
+
191
+ @strawberry.type
192
+ class User:
193
+ id: int
194
+ name: str
195
+ email: str
196
+ orders: list["Order"]
197
+
198
+ @strawberry.type
199
+ class Order:
200
+ id: int
201
+ total: float
202
+ status: str
203
+ items: list["OrderItem"]
204
+
205
+ @strawberry.type
206
+ class OrderItem:
207
+ product_name: str
208
+ quantity: int
209
+ price: float
210
+
211
+ @strawberry.type
212
+ class Query:
213
+ @strawberry.field
214
+ async def user(self, id: int, info: strawberry.types.Info) -> User:
215
+ """聚合用户服务+订单服务"""
216
+ # 调用用户微服务
217
+ user_data = await info.context["user_client"].get_user(id)
218
+
219
+ # DataLoader批量加载订单(避免N+1)
220
+ orders = await info.context["order_loader"].load(id)
221
+
222
+ return User(
223
+ id=user_data["id"],
224
+ name=user_data["name"],
225
+ email=user_data["email"],
226
+ orders=orders,
227
+ )
228
+
229
+ schema = strawberry.Schema(query=Query)
230
+ graphql_app = GraphQLRouter(schema)
231
+ ```
232
+
233
+ ### 消息队列 — RabbitMQ
234
+
235
+ ```python
236
+ # 生产者(发送订单创建事件)
237
+ import aio_pika
238
+ import json
239
+
240
+ async def publish_order_created(order: dict):
241
+ connection = await aio_pika.connect_robust("amqp://guest:guest@rabbitmq/")
242
+ async with connection:
243
+ channel = await connection.channel()
244
+ exchange = await channel.declare_exchange(
245
+ "orders", aio_pika.ExchangeType.TOPIC, durable=True
246
+ )
247
+ message = aio_pika.Message(
248
+ body=json.dumps({
249
+ "event": "order.created",
250
+ "data": order,
251
+ "timestamp": datetime.now().isoformat(),
252
+ "correlation_id": str(uuid.uuid4()),
253
+ }).encode(),
254
+ delivery_mode=aio_pika.DeliveryMode.PERSISTENT,
255
+ content_type="application/json",
256
+ )
257
+ await exchange.publish(message, routing_key="order.created")
258
+
259
+ # 消费者(处理订单创建事件)
260
+ async def consume_orders():
261
+ connection = await aio_pika.connect_robust("amqp://guest:guest@rabbitmq/")
262
+ async with connection:
263
+ channel = await connection.channel()
264
+ await channel.set_qos(prefetch_count=10)
265
+
266
+ exchange = await channel.declare_exchange(
267
+ "orders", aio_pika.ExchangeType.TOPIC, durable=True
268
+ )
269
+ queue = await channel.declare_queue(
270
+ "notification-service.order-created",
271
+ durable=True,
272
+ arguments={"x-dead-letter-exchange": "orders-dlx"},
273
+ )
274
+ await queue.bind(exchange, routing_key="order.created")
275
+
276
+ async with queue.iterator() as queue_iter:
277
+ async for message in queue_iter:
278
+ async with message.process(requeue=False):
279
+ try:
280
+ data = json.loads(message.body)
281
+ await send_order_notification(data["data"])
282
+ except Exception as e:
283
+ logger.error(f"Failed to process message: {e}")
284
+ # 消息会进入死信队列
285
+ raise
286
+ ```
287
+
288
+ ### 事件驱动 — Kafka
289
+
290
+ ```python
291
+ # Kafka生产者
292
+ from aiokafka import AIOKafkaProducer
293
+ import json
294
+
295
+ class EventPublisher:
296
+ def __init__(self):
297
+ self.producer = AIOKafkaProducer(
298
+ bootstrap_servers='kafka:9092',
299
+ value_serializer=lambda v: json.dumps(v).encode(),
300
+ key_serializer=lambda k: k.encode() if k else None,
301
+ acks='all', # 等待所有副本确认
302
+ enable_idempotence=True, # 幂等生产者
303
+ )
304
+
305
+ async def start(self):
306
+ await self.producer.start()
307
+
308
+ async def publish(self, topic: str, event: dict, key: str = None):
309
+ await self.producer.send_and_wait(
310
+ topic=topic,
311
+ value={
312
+ "event_id": str(uuid.uuid4()),
313
+ "event_type": event["type"],
314
+ "data": event["data"],
315
+ "timestamp": datetime.now().isoformat(),
316
+ "source": "order-service",
317
+ },
318
+ key=key,
319
+ )
320
+
321
+ # Kafka消费者
322
+ from aiokafka import AIOKafkaConsumer
323
+
324
+ class EventConsumer:
325
+ def __init__(self, topics: list[str], group_id: str):
326
+ self.consumer = AIOKafkaConsumer(
327
+ *topics,
328
+ bootstrap_servers='kafka:9092',
329
+ group_id=group_id,
330
+ auto_offset_reset='earliest',
331
+ enable_auto_commit=False,
332
+ value_deserializer=lambda v: json.loads(v.decode()),
333
+ )
334
+ self.handlers: dict[str, Callable] = {}
335
+
336
+ def on(self, event_type: str, handler: Callable):
337
+ self.handlers[event_type] = handler
338
+
339
+ async def start(self):
340
+ await self.consumer.start()
341
+ try:
342
+ async for msg in self.consumer:
343
+ event = msg.value
344
+ handler = self.handlers.get(event["event_type"])
345
+ if handler:
346
+ try:
347
+ await handler(event["data"])
348
+ await self.consumer.commit()
349
+ except Exception as e:
350
+ logger.error(f"Handler failed: {e}", extra={"event": event})
351
+ # 实现重试或发送到死信主题
352
+ else:
353
+ logger.warning(f"No handler for: {event['event_type']}")
354
+ await self.consumer.commit()
355
+ finally:
356
+ await self.consumer.stop()
357
+
358
+ # 使用
359
+ consumer = EventConsumer(["orders"], group_id="inventory-service")
360
+ consumer.on("order.created", handle_order_created)
361
+ consumer.on("order.cancelled", handle_order_cancelled)
362
+ await consumer.start()
363
+ ```
364
+
365
+ ## 场景选型指南
366
+
367
+ ### 选REST当
368
+ - 面向外部的公开API
369
+ - CRUD为主的简单服务间调用
370
+ - 需要浏览器直接访问
371
+ - 团队对HTTP/JSON最熟悉
372
+
373
+ ### 选gRPC当
374
+ - 内部服务间高频调用(延迟敏感)
375
+ - 需要流式通信(实时数据推送)
376
+ - 多语言微服务(proto生成多语言代码)
377
+ - 需要强类型契约
378
+
379
+ ### 选GraphQL当
380
+ - BFF(Backend for Frontend)聚合层
381
+ - 客户端需要灵活查询不同字段组合
382
+ - 移动端需要减少请求次数和数据量
383
+ - 多个前端消费同一API
384
+
385
+ ### 选消息队列(RabbitMQ)当
386
+ - 需要任务队列(邮件发送/图片处理)
387
+ - 需要精确的消息路由(Topic/Header)
388
+ - 需要消息确认和重试机制
389
+ - 中小规模,延迟要求不极端
390
+
391
+ ### 选事件流(Kafka)当
392
+ - 大规模事件流处理(日志/点击流)
393
+ - 需要事件重放(新消费者从头消费)
394
+ - 需要高吞吐(百万级/秒)
395
+ - 事件溯源(Event Sourcing)架构
396
+
397
+ ## 最佳实践
398
+
399
+ ### 1. 服务间调用韧性
400
+ - 设置合理的超时(connect/read/write分开)
401
+ - 实现重试(指数退避+抖动)
402
+ - 使用断路器(防止级联故障)
403
+ - 实现降级策略(返回缓存/默认值)
404
+
405
+ ### 2. 消息可靠性
406
+ - 生产者: 确认机制(acks=all)
407
+ - 消费者: 手动提交offset
408
+ - 死信队列处理失败消息
409
+ - 幂等消费(用event_id去重)
410
+
411
+ ### 3. 契约管理
412
+ - REST: OpenAPI/Swagger规范
413
+ - gRPC: .proto文件版本管理
414
+ - GraphQL: Schema注册中心
415
+ - 事件: Schema Registry(Avro/JSON Schema)
416
+
417
+ ### 4. 可观测性
418
+ - 分布式追踪(传播trace_id/correlation_id)
419
+ - 每次跨服务调用记录日志
420
+ - 监控延迟/错误率/吞吐量
421
+ - 消息队列监控积压(consumer lag)
422
+
423
+ ## 常见陷阱
424
+
425
+ ### 陷阱1: 分布式事务不一致
426
+ ```python
427
+ # 错误: 跨服务同步调用假装是事务
428
+ def create_order(data):
429
+ order = order_service.create(data)
430
+ payment = payment_service.charge(order) # 如果这里失败?
431
+ inventory = inventory_service.deduct(order) # 这里又失败?
432
+
433
+ # 正确: 使用Saga模式
434
+ async def create_order_saga(data):
435
+ order = await order_service.create(data, status="pending")
436
+ try:
437
+ await payment_service.charge(order)
438
+ await inventory_service.reserve(order)
439
+ await order_service.confirm(order.id)
440
+ except Exception:
441
+ await order_service.cancel(order.id)
442
+ await payment_service.refund(order) # 补偿操作
443
+ ```
444
+
445
+ ### 陷阱2: 同步调用链过深
446
+ ```
447
+ # 错误: A→B→C→D→E 链式同步调用
448
+ # 总延迟 = A + B + C + D + E,任何一个挂掉全链失败
449
+
450
+ # 正确: 异步解耦非关键路径
451
+ # A→B(同步,关键路径) → 发事件 → C/D/E异步处理
452
+ ```
453
+
454
+ ### 陷阱3: 消息顺序假设
455
+ ```python
456
+ # 错误: 假设消息总是按发送顺序到达
457
+ # 在多分区/多消费者场景下顺序不保证
458
+
459
+ # 正确: 需要顺序时使用相同的partition key
460
+ await producer.send("orders", value=event, key=str(order_id))
461
+ # 同一order_id的事件会进入同一分区,保证顺序
462
+ ```
463
+
464
+ ### 陷阱4: 忽略幂等性
465
+ ```python
466
+ # 错误: 重复消费导致重复扣款
467
+ async def handle_payment(event):
468
+ await charge_user(event["user_id"], event["amount"])
469
+
470
+ # 正确: 幂等处理
471
+ async def handle_payment(event):
472
+ if await is_processed(event["event_id"]):
473
+ return # 已处理,跳过
474
+ await charge_user(event["user_id"], event["amount"])
475
+ await mark_processed(event["event_id"])
476
+ ```
477
+
478
+ ## Agent Checklist
479
+
480
+ ### 通信方式选择
481
+ - [ ] 根据场景选择合适的通信模式(同步/异步)
482
+ - [ ] 评估延迟/吞吐/可靠性需求
483
+ - [ ] 确认团队对选定技术的熟悉度
484
+ - [ ] 考虑运维复杂度(消息队列需要额外基础设施)
485
+
486
+ ### 韧性设计
487
+ - [ ] 超时配置合理(分层超时)
488
+ - [ ] 重试策略实现(指数退避+抖动)
489
+ - [ ] 断路器配置(失败阈值/恢复时间)
490
+ - [ ] 降级策略明确(缓存/默认值/跳过)
491
+
492
+ ### 消息可靠性
493
+ - [ ] 生产者确认机制启用
494
+ - [ ] 消费者手动提交offset
495
+ - [ ] 死信队列已配置
496
+ - [ ] 幂等消费已实现
497
+
498
+ ### 可观测性
499
+ - [ ] 分布式追踪贯穿调用链
500
+ - [ ] 跨服务调用有日志和指标
501
+ - [ ] 消息积压有监控告警
502
+ - [ ] 错误率和延迟有仪表盘