@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,413 @@
1
+ ---
2
+ id: case-netflix-microservices
3
+ title: 案例:Netflix 微服务架构演进
4
+ domain: architecture
5
+ category: 05-cases
6
+ difficulty: intermediate
7
+ tags: [agent, architecture, case, checklist, microservices, netflix, 之前, 复用要点]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 案例:Netflix 微服务架构演进
12
+
13
+ > 从单体到 SOA 到微服务再到服务网格,Netflix 在 10 年间完成了四个阶段的架构演进。本案例详细记录每个阶段的背景、决策、实施路径和经验教训。
14
+
15
+ ---
16
+
17
+ ## 背景概述
18
+
19
+ Netflix 成立于 1997 年,最初是 DVD 邮寄租赁业务。2007 年开始转型流媒体服务。2008 年发生了一次重大数据库宕机事件(持续 3 天,无法发货),这成为 Netflix 架构演进的起点。
20
+
21
+ **关键数据(截至 2023)**:
22
+ - 2.38 亿付费用户,覆盖 190+ 国家
23
+ - 每日视频播放量超过 5 亿小时
24
+ - 1000+ 微服务,运行在 AWS 上
25
+ - 峰值流量占北美互联网总带宽的 15%
26
+
27
+ ---
28
+
29
+ ## 阶段一:单体架构(2007 之前)
30
+
31
+ ### 架构描述
32
+
33
+ Netflix 早期是一个典型的 Java 单体应用:
34
+ - 单一 WAR 包部署在 Tomcat 集群上
35
+ - Oracle 数据库作为核心数据存储
36
+ - 垂直扩展(Scale Up)为主要扩容策略
37
+ - 所有业务逻辑(用户管理、DVD 库存、推荐算法、账单)在同一代码库
38
+
39
+ ```
40
+ 架构拓扑:
41
+ 用户 → 负载均衡器 → Tomcat 集群(同一 WAR 包)→ Oracle 数据库
42
+
43
+ 共享文件存储(DVD 封面图片)
44
+ ```
45
+
46
+ ### 遇到的问题
47
+
48
+ 1. **单点故障**:2008 年 Oracle 数据库损坏,服务中断 3 天,无法处理 DVD 发货
49
+ 2. **扩展瓶颈**:流媒体业务快速增长,垂直扩展成本指数级上升
50
+ 3. **发布风险**:任何小改动都需要重新部署整个应用,发布周期为数周
51
+ 4. **团队协作冲突**:200+ 开发者修改同一代码库,合并冲突频繁
52
+
53
+ ### 关键教训
54
+
55
+ > "The best way to avoid failure is to fail constantly." —— Netflix 技术博客
56
+
57
+ - 单一数据库是最大的单点风险
58
+ - 垂直扩展有硬性上限
59
+ - 组织规模超过"两个披萨团队"后,单体架构的协作成本急剧上升
60
+
61
+ ---
62
+
63
+ ## 阶段二:SOA 化与上云(2009-2012)
64
+
65
+ ### 架构决策
66
+
67
+ 2009 年,Netflix 做出了两个重大决策:
68
+ 1. **全面迁移到 AWS**(当时极具争议——大型企业上公有云被认为不现实)
69
+ 2. **从单体拆分为 SOA(面向服务架构)**
70
+
71
+ ### 迁移策略:Strangler Fig 模式
72
+
73
+ Netflix 没有选择"大爆炸"式重写,而是采用了渐进式迁移:
74
+
75
+ ```
76
+ 迁移时间线:
77
+ 2009 Q1: 非关键路径(编码/转码)迁移到 AWS
78
+ 2009 Q3: CDN 和视频分发迁移
79
+ 2010 Q1: 用户注册和账单系统迁移
80
+ 2010 Q3: 推荐引擎迁移
81
+ 2011 Q1: 核心流媒体服务迁移
82
+ 2011 Q4: 最后一批 Oracle 数据库迁移完成
83
+ 2012 Q1: 关闭最后一台自建数据中心服务器
84
+ ```
85
+
86
+ ### 关键技术选择
87
+
88
+ | 领域 | 选择 | 原因 |
89
+ |------|------|------|
90
+ | 计算 | AWS EC2 | 弹性伸缩,按需付费 |
91
+ | 数据库 | Cassandra(替代 Oracle) | 线性扩展、无单点、多数据中心 |
92
+ | 缓存 | EVCache(基于 Memcached) | 低延迟、高可用 |
93
+ | 消息队列 | 内部实现(后来开源为 Hermes) | 异步解耦服务间通信 |
94
+ | 配置管理 | Archaius | 动态配置,无需重启 |
95
+
96
+ ### SOA 拆分原则
97
+
98
+ Netflix 按业务能力(Business Capability)拆分服务:
99
+
100
+ ```
101
+ 核心服务域:
102
+ ├── 用户域:注册、认证、个人资料、偏好
103
+ ├── 内容域:元数据、编码、CDN、DRM
104
+ ├── 推荐域:算法、A/B 测试、个性化
105
+ ├── 播放域:流控制、设备适配、码率调节
106
+ ├── 账单域:订阅、支付、发票
107
+ └── 基础设施域:日志、监控、配置、服务发现
108
+ ```
109
+
110
+ ### 遇到的问题
111
+
112
+ 1. **分布式系统复杂性**:网络分区、超时、重试等问题频发
113
+ 2. **服务发现困难**:静态配置无法应对 AWS 实例动态变化
114
+ 3. **级联故障**:一个服务超时导致调用链上游全部超时(缺乏熔断机制)
115
+ 4. **部署复杂度**:40+ 服务的部署协调成为新的瓶颈
116
+
117
+ ### 诞生的开源项目
118
+
119
+ 正是这些问题催生了 Netflix 一系列著名的开源项目:
120
+
121
+ | 项目 | 解决的问题 | 发布年份 |
122
+ |------|-----------|---------|
123
+ | **Eureka** | 服务注册与发现 | 2012 |
124
+ | **Ribbon** | 客户端负载均衡 | 2013 |
125
+ | **Hystrix** | 熔断与降级 | 2012 |
126
+ | **Zuul** | API 网关 | 2013 |
127
+
128
+ ---
129
+
130
+ ## 阶段三:微服务化与混沌工程(2012-2018)
131
+
132
+ ### 从 SOA 到微服务的演进
133
+
134
+ SOA 阶段的服务粒度仍然较粗(约 40-60 个服务),Netflix 继续细化拆分:
135
+
136
+ ```
137
+ 演进对比:
138
+ SOA 阶段 (2012): ~50 个服务,每个服务 10-50 人维护
139
+ 微服务阶段 (2016): ~700 个服务,每个服务 3-8 人维护
140
+ 成熟阶段 (2018): ~1000 个服务,每个服务 2-5 人维护
141
+ ```
142
+
143
+ ### 拆分粒度原则
144
+
145
+ Netflix 总结了微服务拆分的"三条规则":
146
+
147
+ 1. **单一业务能力**:每个服务只做一件事,且做好它
148
+ 2. **独立部署**:修改和发布一个服务不需要修改或重新部署其他服务
149
+ 3. **独立数据**:每个服务拥有自己的数据存储,不共享数据库
150
+
151
+ ### 关键架构模式
152
+
153
+ #### API 网关模式(Zuul)
154
+
155
+ ```
156
+ 请求链路:
157
+ 客户端 → Zuul(API 网关)→ 路由到具体微服务
158
+
159
+ 职责:
160
+ - 动态路由
161
+ - 认证/授权
162
+ - 限流/熔断
163
+ - A/B 测试流量分配
164
+ - 金丝雀发布
165
+ - 请求/响应过滤
166
+ ```
167
+
168
+ #### 熔断器模式(Hystrix)
169
+
170
+ Netflix 在 2012 年的一次全站故障后开发了 Hystrix:
171
+
172
+ ```
173
+ Hystrix 状态机:
174
+ CLOSED(正常)─── 失败率超过阈值 ──→ OPEN(熔断)
175
+ ↑ │
176
+ │ 超时后进入
177
+ │ ↓
178
+ └──── 探测请求成功 ──── HALF-OPEN(半开)
179
+ ```
180
+
181
+ ```java
182
+ // Hystrix 使用示例
183
+ @HystrixCommand(
184
+ fallbackMethod = "getDefaultRecommendations",
185
+ commandProperties = {
186
+ @HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "20"),
187
+ @HystrixProperty(name = "circuitBreaker.errorThresholdPercentage", value = "50"),
188
+ @HystrixProperty(name = "circuitBreaker.sleepWindowInMilliseconds", value = "5000"),
189
+ @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "1000"),
190
+ }
191
+ )
192
+ public List<Movie> getPersonalizedRecommendations(String userId) {
193
+ return recommendationService.getRecommendations(userId);
194
+ }
195
+
196
+ // 降级方法:推荐服务不可用时返回热门榜单
197
+ public List<Movie> getDefaultRecommendations(String userId) {
198
+ return topMoviesCache.getTopMovies();
199
+ }
200
+ ```
201
+
202
+ #### 混沌工程(Chaos Engineering)
203
+
204
+ Netflix 在 2011 年创建了 Chaos Monkey,后来发展为完整的混沌工程体系:
205
+
206
+ ```
207
+ Simian Army(猴子军团):
208
+ ├── Chaos Monkey 随机终止生产环境的实例
209
+ ├── Chaos Gorilla 模拟整个 AZ(可用区)故障
210
+ ├── Chaos Kong 模拟整个 Region(区域)故障
211
+ ├── Latency Monkey 注入网络延迟
212
+ ├── Conformity Monkey 检查实例是否符合最佳实践
213
+ └── Security Monkey 检查安全配置(已独立为 Security Monkey 项目)
214
+ ```
215
+
216
+ **混沌工程原则**:
217
+ 1. 定义"稳态"——系统在正常情况下的行为指标
218
+ 2. 假设"稳态"在实验组和对照组中都会持续
219
+ 3. 引入真实世界事件变量(服务器故障、网络分区、流量激增)
220
+ 4. 尝试推翻假设——观察稳态指标的差异
221
+
222
+ ### 数据架构演进
223
+
224
+ Netflix 采用了 Polyglot Persistence(多语言持久化)策略:
225
+
226
+ | 数据类型 | 存储选择 | 原因 |
227
+ |----------|---------|------|
228
+ | 用户数据/元数据 | Cassandra | 高可用、多 Region 复制 |
229
+ | 时间序列数据 | Atlas (自研) | 高效时序存储和查询 |
230
+ | 搜索索引 | Elasticsearch | 全文搜索能力 |
231
+ | 缓存层 | EVCache (Memcached) | 亚毫秒级延迟 |
232
+ | 消息/事件 | Apache Kafka | 高吞吐事件流 |
233
+ | 关系数据 | MySQL (Amazon RDS) | 强一致性场景(账单) |
234
+
235
+ ### 部署与发布
236
+
237
+ Netflix 开发了 Spinnaker(2015 年开源)作为持续交付平台:
238
+
239
+ ```
240
+ Spinnaker 部署流水线:
241
+ 代码提交 → 构建 AMI → 烘焙(Bake) → 部署到测试环境
242
+ → 集成测试 → 金丝雀分析(Kayenta)
243
+ → 逐步发布(1% → 5% → 25% → 100%)
244
+ → 生产验证 → 完成
245
+
246
+ 金丝雀分析(Kayenta):
247
+ - 对比金丝雀实例和基准实例的关键指标
248
+ - 延迟 P50/P99、错误率、CPU/内存使用率
249
+ - 自动判定 Pass/Fail,失败自动回滚
250
+ ```
251
+
252
+ ---
253
+
254
+ ## 阶段四:服务网格与平台化(2018 至今)
255
+
256
+ ### 从自研组件到服务网格
257
+
258
+ 随着微服务数量突破 1000 个,Netflix 面临新的挑战:
259
+
260
+ 1. **库的版本碎片化**:Hystrix/Ribbon/Eureka 的客户端库版本分散在各个服务中,升级困难
261
+ 2. **多语言支持困难**:Java 库无法被 Python/Node.js 服务使用
262
+ 3. **关注点分离不足**:业务代码和基础设施代码(重试、熔断、追踪)混杂
263
+
264
+ Netflix 的应对方案:
265
+
266
+ ```
267
+ 演进路径:
268
+ Phase 1: 将 Hystrix 标记为维护模式(2018)
269
+ Phase 2: 引入 Resilience4j 作为轻量级替代
270
+ Phase 3: 将跨服务通信治理能力下沉到基础设施层
271
+ Phase 4: 逐步引入 Envoy 代理和服务网格概念
272
+ ```
273
+
274
+ ### 平台化:从工具到平台
275
+
276
+ Netflix 将微服务基础设施抽象为内部平台:
277
+
278
+ ```
279
+ Netflix 内部平台层:
280
+ ┌─────────────────────────────────────────────────────┐
281
+ │ 业务服务层 │
282
+ │ (推荐引擎 / 播放控制 / 用户管理 / ...) │
283
+ ├─────────────────────────────────────────────────────┤
284
+ │ 平台服务层 │
285
+ │ ┌──────────┬──────────┬──────────┬──────────┐ │
286
+ │ │ 服务发现 │ 配置管理 │ 流量治理 │ 可观测性 │ │
287
+ │ │ (Eureka) │(Archaius)│ (Zuul 2) │ (Atlas) │ │
288
+ │ ├──────────┼──────────┼──────────┼──────────┤ │
289
+ │ │ 安全认证 │ 消息总线 │ 数据访问 │ 发布管理 │ │
290
+ │ │ (自研) │ (Kafka) │(自研 DAL)│(Spinnaker)│ │
291
+ │ └──────────┴──────────┴──────────┴──────────┘ │
292
+ ├─────────────────────────────────────────────────────┤
293
+ │ 基础设施层 (AWS) │
294
+ │ EC2 / S3 / DynamoDB / CloudFront / ... │
295
+ └─────────────────────────────────────────────────────┘
296
+ ```
297
+
298
+ ### GraphQL 联邦(2020+)
299
+
300
+ Netflix 前端团队推动了 GraphQL Federation 的采用:
301
+
302
+ ```
303
+ GraphQL Federation 架构:
304
+ 客户端 → Netflix API Gateway (GraphQL)
305
+ ├── User Subgraph (用户服务)
306
+ ├── Content Subgraph (内容服务)
307
+ ├── Playback Subgraph (播放服务)
308
+ └── Billing Subgraph (账单服务)
309
+
310
+ 优势:
311
+ - 前端一次请求获取所有需要的数据
312
+ - 每个团队独立管理自己的 Subgraph
313
+ - Schema 治理和版本管理标准化
314
+ ```
315
+
316
+ ### 可观测性体系
317
+
318
+ ```
319
+ Netflix 可观测性全景:
320
+ ┌────────────┬────────────┬────────────┐
321
+ │ Metrics │ Traces │ Logs │
322
+ │ (Atlas) │ (自研) │ (自研) │
323
+ ├────────────┴────────────┴────────────┤
324
+ │ Edgar(分布式追踪 UI) │
325
+ ├──────────────────────────────────────┤
326
+ │ Mantis(实时流处理和告警) │
327
+ ├──────────────────────────────────────┤
328
+ │ Lumen(根因分析自动化) │
329
+ └──────────────────────────────────────┘
330
+ ```
331
+
332
+ ---
333
+
334
+ ## 核心经验总结
335
+
336
+ ### 架构原则
337
+
338
+ 1. **弹性优于效率**:宁可浪费一些资源,也要保证在故障时能降级而不是崩溃
339
+ 2. **隔离故障域**:每个服务独立部署、独立数据、独立扩容
340
+ 3. **拥抱失败**:假设一切都会失败,设计时就考虑降级策略
341
+ 4. **自由与责任**:给团队技术选型自由,但通过平台提供"铺好的路"(Paved Path)
342
+ 5. **可观测性优先**:没有可观测性的微服务等于盲人骑瞎马
343
+
344
+ ### 组织结构
345
+
346
+ Netflix 严格遵循逆向 Conway 定律:
347
+
348
+ ```
349
+ 组织结构映射:
350
+ VP of Engineering
351
+ ├── 用户体验团队 → 用户相关微服务
352
+ ├── 内容工程团队 → 内容相关微服务
353
+ ├── 推荐算法团队 → 推荐相关微服务
354
+ ├── 流媒体平台团队 → 播放相关微服务
355
+ ├── 平台基础设施团队 → 平台服务
356
+ └── 数据工程团队 → 数据管道和分析
357
+
358
+ 原则:一个团队拥有一个(或一组内聚的)服务
359
+ 效果:团队可以独立决策、独立发布、独立运营
360
+ ```
361
+
362
+ ### 关键数据对比
363
+
364
+ | 指标 | 单体阶段 (2008) | 微服务阶段 (2018) | 平台化阶段 (2023) |
365
+ |------|----------------|-------------------|-------------------|
366
+ | 部署频率 | 每 2 周 1 次 | 每天 100+ 次 | 每天 1000+ 次 |
367
+ | 故障恢复时间 | 数小时 | 分钟级 | 秒级(自动恢复) |
368
+ | 服务可用性 | 99.0% | 99.97% | 99.99% |
369
+ | 开发团队规模 | ~200 人 | ~2000 人 | ~3000 人 |
370
+ | 服务数量 | 1 | ~700 | ~1000+ |
371
+ | 基础设施 | 自建数据中心 | AWS (单 Region) | AWS (多 Region) |
372
+
373
+ ### 不同阶段的适用建议
374
+
375
+ ```
376
+ 企业架构演进路线图:
377
+ 日活 < 1 万,团队 < 10 人
378
+ → 模块化单体(参考 Netflix 2007 之前,但用好的模块边界)
379
+
380
+ 日活 1-100 万,团队 10-50 人
381
+ → 服务化(参考 Netflix SOA 阶段,5-20 个服务)
382
+
383
+ 日活 100 万+,团队 50-200 人
384
+ → 微服务化(参考 Netflix 2012-2018,引入服务网格前的架构)
385
+
386
+ 日活 1000 万+,团队 200+ 人
387
+ → 平台化(参考 Netflix 当前阶段,需要专门的平台团队)
388
+
389
+ 注意:不要跳过阶段!Netflix 花了 10 年走过这条路。
390
+ ```
391
+
392
+ ---
393
+
394
+ ## 复用要点
395
+
396
+ 1. **先模块化,再服务化**:在单体内做好模块边界比过早拆微服务更重要
397
+ 2. **数据库是迁移的最大阻力**:优先解决数据层的耦合
398
+ 3. **混沌工程必须在生产环境做**:测试环境的混沌测试价值有限
399
+ 4. **平台团队是微服务成功的关键**:没有平台支撑的微服务会退化为分布式单体
400
+ 5. **自动化一切**:部署、测试、回滚、扩缩容——人工操作是最大的风险源
401
+ 6. **可观测性是微服务的前提**:先建好监控再拆服务,而非拆完再补
402
+
403
+ ---
404
+
405
+ ## Agent Checklist
406
+
407
+ - [ ] 案例覆盖四个完整阶段:单体 → SOA → 微服务 → 服务网格
408
+ - [ ] 每个阶段包含架构描述、遇到的问题和关键决策
409
+ - [ ] 包含真实的技术选型和开源项目背景
410
+ - [ ] 关键数据对比有可信度(部署频率、可用性、团队规模)
411
+ - [ ] 包含可复用的经验总结和适用建议
412
+ - [ ] 架构图和技术栈选择有清晰的因果关系
413
+ - [ ] 文件行数 >= 300 行
@@ -0,0 +1,164 @@
1
+ ---
2
+ id: architecture-glossary
3
+ title: 架构术语表
4
+ domain: architecture
5
+ category: 06-glossary
6
+ difficulty: intermediate
7
+ tags: [architecture, devops, glossary, 事件与数据模式, 分布式系统理论, 可观测性与, 可靠性工程, 微服务与服务治理]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 架构术语表
12
+
13
+ > 收录软件架构领域核心术语,涵盖分布式系统、微服务、设计原则、架构模式等方向。
14
+ > 适用于团队 Onboarding、架构评审对齐、文档编写时的术语参考。
15
+
16
+ ---
17
+
18
+ ## 分布式系统理论
19
+
20
+ | 术语 | 英文全称 | 定义 |
21
+ |------|----------|------|
22
+ | CAP 定理 | CAP Theorem | 分布式系统最多同时满足一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance)中的两项。由 Eric Brewer 于 2000 年提出。 |
23
+ | BASE | Basically Available, Soft state, Eventually consistent | 与 ACID 对应的分布式系统设计理念:基本可用、软状态、最终一致性。适用于对可用性要求高于强一致性的场景。 |
24
+ | ACID | Atomicity, Consistency, Isolation, Durability | 数据库事务的四大特性:原子性、一致性、隔离性、持久性。传统关系型数据库的核心保证。 |
25
+ | 最终一致性 | Eventual Consistency | 分布式系统中,数据在没有新写入的情况下,所有副本最终会达到一致状态。BASE 的核心概念之一。 |
26
+ | 拜占庭容错 | Byzantine Fault Tolerance (BFT) | 系统能够在部分节点发送错误或恶意信息的情况下仍然达成共识。常见于区块链和高安全性系统。 |
27
+ | 向量时钟 | Vector Clock | 用于检测分布式系统中事件因果关系和并发冲突的逻辑时钟算法。每个节点维护一个计数器向量。 |
28
+ | Quorum | Quorum | 分布式一致性协议中,执行读写操作所需的最少节点数。常见公式:W + R > N(写节点 + 读节点 > 总节点)。 |
29
+
30
+ ## 领域驱动设计(DDD)
31
+
32
+ | 术语 | 英文全称 | 定义 |
33
+ |------|----------|------|
34
+ | DDD | Domain-Driven Design | 以业务领域为核心驱动软件设计的方法论,强调通用语言、限界上下文和领域模型。由 Eric Evans 于 2003 年提出。 |
35
+ | 限界上下文 | Bounded Context | DDD 中定义领域模型边界的核心概念。同一术语在不同上下文中可能有不同含义,上下文之间通过集成映射通信。 |
36
+ | 聚合根 | Aggregate Root | 聚合中唯一允许外部直接引用的实体,作为聚合的访问入口,保证聚合内的不变量约束。 |
37
+ | 领域事件 | Domain Event | 表示领域中已发生的重要事实。不可变,包含事件发生时间和相关数据。是事件驱动架构的基础。 |
38
+ | 通用语言 | Ubiquitous Language | 开发团队与业务专家共同使用的统一术语体系,贯穿代码、文档和沟通。 |
39
+ | 上下文映射 | Context Map | 描述多个限界上下文之间关系和集成模式的全局视图。常见关系:共享内核、防腐层、开放主机服务等。 |
40
+
41
+ ## 事件与数据模式
42
+
43
+ | 术语 | 英文全称 | 定义 |
44
+ |------|----------|------|
45
+ | CQRS | Command Query Responsibility Segregation | 将读操作(Query)和写操作(Command)的模型分离。读模型针对查询优化,写模型针对业务规则优化。常与 Event Sourcing 搭配使用。 |
46
+ | Event Sourcing | Event Sourcing | 以事件序列而非当前状态作为数据存储的核心模式。系统状态通过重放事件序列恢复。提供完整审计轨迹。 |
47
+ | Saga 模式 | Saga Pattern | 通过一系列本地事务和补偿操作实现跨服务的分布式事务。分为编排式(Choreography)和协调式(Orchestration)两种。 |
48
+ | CDC | Change Data Capture | 捕获数据库变更并将其传播到下游系统的技术。常用工具:Debezium、Canal。用于数据同步和事件驱动集成。 |
49
+ | Outbox 模式 | Transactional Outbox | 将领域事件与业务数据在同一事务中写入 Outbox 表,再由异步进程发布到消息队列,解决本地事务与消息发送的一致性问题。 |
50
+
51
+ ## 微服务与服务治理
52
+
53
+ | 术语 | 英文全称 | 定义 |
54
+ |------|----------|------|
55
+ | Service Mesh | Service Mesh | 处理服务间通信的基础设施层。以 Sidecar 代理的形式透明地提供负载均衡、服务发现、流量管理、安全和可观测性。代表实现:Istio、Linkerd。 |
56
+ | API Gateway | API Gateway | 作为所有客户端请求的统一入口,处理路由、认证、限流、协议转换、请求聚合等横切关注点。代表实现:Kong、APISIX、AWS API Gateway。 |
57
+ | Circuit Breaker | Circuit Breaker | 断路器模式。当依赖服务故障率超过阈值时自动切断请求,防止级联故障。包含关闭、打开、半开三种状态。 |
58
+ | Bulkhead | Bulkhead Pattern | 舱壁模式。将系统资源隔离为独立的隔离区,某一部分故障不会耗尽整体资源。常通过线程池或信号量实现。 |
59
+ | Sidecar | Sidecar Pattern | 将辅助功能(日志、监控、安全、网络)部署为独立进程/容器,与主应用容器共享生命周期但独立运行。Service Mesh 的核心实现模式。 |
60
+ | 服务发现 | Service Discovery | 服务实例自动注册和查找的机制。分为客户端发现(如 Eureka)和服务端发现(如 Kubernetes Service)两种模式。 |
61
+ | 背压 | Backpressure | 当下游消费速度跟不上上游生产速度时,向上游发出减速信号的流控机制。防止系统过载和 OOM。 |
62
+
63
+ ## 架构演进模式
64
+
65
+ | 术语 | 英文全称 | 定义 |
66
+ |------|----------|------|
67
+ | Strangler Fig | Strangler Fig Pattern | 绞杀者模式。通过逐步用新系统替换旧系统的功能模块来完成系统迁移,避免一次性大规模重写的风险。名称来自热带绞杀榕。 |
68
+ | BFF | Backend for Frontend | 为特定前端(Web/Mobile/IoT)定制的后端服务层。根据不同前端的数据需求进行聚合和裁剪,避免通用 API 的过度获取。 |
69
+ | Anti-Corruption Layer | Anti-Corruption Layer (ACL) | 防腐层。在新系统与遗留系统之间建立转换层,隔离遗留系统的数据模型和接口对新系统的污染。DDD 上下文映射中的关键模式。 |
70
+ | Feature Toggle | Feature Toggle / Feature Flag | 功能开关。通过配置而非代码部署来控制功能的启用/禁用。支持灰度发布、A/B 测试和快速回滚。 |
71
+
72
+ ## 设计原则
73
+
74
+ | 术语 | 英文全称 | 定义 |
75
+ |------|----------|------|
76
+ | SOLID | Single responsibility, Open-closed, Liskov substitution, Interface segregation, Dependency inversion | 面向对象设计五大原则:单一职责、开闭原则、里氏替换、接口隔离、依赖倒置。由 Robert C. Martin 整理推广。 |
77
+ | 12-Factor App | Twelve-Factor App | 构建云原生 SaaS 应用的十二条方法论:代码库、依赖、配置、后端服务、构建/发布/运行、进程、端口绑定、并发、易处置、开发/生产等价、日志、管理进程。 |
78
+ | DRY | Don't Repeat Yourself | 避免重复原则。系统中的每一项知识都应该有且仅有一个明确的、权威的表示。 |
79
+ | KISS | Keep It Simple, Stupid | 保持简单原则。系统设计应尽量简单,避免不必要的复杂性。 |
80
+ | YAGNI | You Aren't Gonna Need It | 不要提前实现当前不需要的功能。源自极限编程(XP),避免过度设计。 |
81
+
82
+ ## 架构风格
83
+
84
+ | 术语 | 英文全称 | 定义 |
85
+ |------|----------|------|
86
+ | Clean Architecture | Clean Architecture | 由 Robert C. Martin 提出的分层架构。从外到内:框架与驱动 → 接口适配器 → 应用用例 → 领域实体。依赖规则:外层依赖内层,内层不知道外层。 |
87
+ | Hexagonal Architecture | Hexagonal Architecture (Ports & Adapters) | 六边形架构。核心业务逻辑通过端口(Port)定义接口,适配器(Adapter)实现与外部系统的交互。使业务逻辑独立于技术实现。由 Alistair Cockburn 提出。 |
88
+ | Onion Architecture | Onion Architecture | 洋葱架构。以领域模型为核心,向外依次为领域服务、应用服务、基础设施。与 Clean Architecture 理念相似,由 Jeffrey Palermo 提出。 |
89
+ | Microkernel | Microkernel Architecture (Plugin Architecture) | 微内核架构。系统由核心系统和可插拔的插件模块组成。核心提供最小功能集,扩展通过插件实现。适用于需要高扩展性的产品。 |
90
+ | EDA | Event-Driven Architecture | 事件驱动架构。系统组件通过事件进行异步通信。分为简单事件处理、复杂事件处理(CEP)和事件流处理三种拓扑。 |
91
+ | SOA | Service-Oriented Architecture | 面向服务的架构。通过定义良好的服务接口实现松耦合的系统集成。ESB(企业服务总线)是其典型基础设施。 |
92
+ | Serverless | Serverless Architecture | 无服务器架构。开发者无需管理服务器基础设施,按实际调用量付费。包括 FaaS(函数即服务)和 BaaS(后端即服务)。 |
93
+ | CNCF 云原生 | Cloud Native | 利用云计算优势构建和运行应用的方法。核心技术:容器、服务网格、微服务、不可变基础设施、声明式 API。 |
94
+
95
+ ## 可靠性工程
96
+
97
+ | 术语 | 英文全称 | 定义 |
98
+ |------|----------|------|
99
+ | SLI | Service Level Indicator | 服务质量的量化度量指标,如请求延迟、错误率、吞吐量。是 SLO 的基础数据来源。 |
100
+ | SLO | Service Level Objective | 基于 SLI 设定的目标值或范围,如"99.9% 的请求延迟 < 200ms"。是内部质量目标。 |
101
+ | SLA | Service Level Agreement | 服务提供商与客户之间的正式协议,包含 SLO 及违约后果(如赔偿条款)。 |
102
+ | 混沌工程 | Chaos Engineering | 在生产或类生产环境中主动注入故障,验证系统韧性的实践方法。代表工具:Chaos Monkey、Litmus、ChaosBlade。 |
103
+ | 金丝雀发布 | Canary Release | 将新版本先部署给一小部分用户,观察指标正常后再逐步全量。降低发布风险。 |
104
+ | 蓝绿部署 | Blue-Green Deployment | 维护两套完整环境(蓝/绿),通过流量切换实现零停机发布和快速回滚。 |
105
+ | 滚动更新 | Rolling Update | 逐批替换旧版本实例为新版本,始终保持部分实例在线服务。Kubernetes 默认的部署策略。 |
106
+
107
+ ## 可观测性与 DevOps
108
+
109
+ | 术语 | 英文全称 | 定义 |
110
+ |------|----------|------|
111
+ | 可观测性 | Observability | 通过系统外部输出(指标、日志、追踪)推断系统内部状态的能力。三大支柱:Metrics、Logging、Tracing。 |
112
+ | OpenTelemetry | OpenTelemetry (OTel) | CNCF 开源的可观测性框架,提供统一的 API 和 SDK 用于采集指标、日志和追踪数据。由 OpenTracing 和 OpenCensus 合并而来。 |
113
+ | 不可变基础设施 | Immutable Infrastructure | 服务器部署后不做任何修改,变更通过替换整个实例实现。搭配容器和基础设施即代码使用,消除配置漂移。 |
114
+ | IaC | Infrastructure as Code | 基础设施即代码。通过声明式或命令式代码定义和管理基础设施。代表工具:Terraform、Pulumi、CloudFormation。 |
115
+ | GitOps | GitOps | 以 Git 仓库作为基础设施和应用部署的唯一事实来源。变更通过 PR 触发,由自动化工具同步到集群。代表工具:ArgoCD、Flux。 |
116
+
117
+ ## 数据架构
118
+
119
+ | 术语 | 英文全称 | 定义 |
120
+ |------|----------|------|
121
+ | 数据湖 | Data Lake | 以原始格式存储大量结构化和非结构化数据的集中式存储。支持多种分析和处理引擎直接读取。 |
122
+ | 数据网格 | Data Mesh | 将数据所有权去中心化到业务领域团队的架构范式。四大原则:领域所有权、数据即产品、自助平台、联邦计算治理。 |
123
+ | 读写分离 | Read-Write Splitting | 将数据库读请求路由到只读副本、写请求路由到主库的模式。提升读性能和系统整体吞吐量。 |
124
+ | 多级缓存 | Multi-Level Cache | 在客户端、CDN、API 网关、应用进程内、分布式缓存等多个层级设置缓存,逐级降低后端压力。 |
125
+
126
+ ## 安全架构
127
+
128
+ | 术语 | 英文全称 | 定义 |
129
+ |------|----------|------|
130
+ | 零信任 | Zero Trust Architecture | 不隐式信任任何用户或设备,每次访问都需要验证身份和授权。核心原则:"永不信任,始终验证"。 |
131
+ | mTLS | Mutual TLS | 双向 TLS 认证。客户端和服务端互相验证对方证书,确保通信双方身份可信。Service Mesh 中常用于服务间通信加密。 |
132
+ | OAuth 2.0 | Open Authorization 2.0 | 行业标准的授权框架。允许第三方应用在用户授权下访问资源,无需暴露用户凭据。定义了授权码、隐式、密码、客户端凭据四种授权流程。 |
133
+ | OIDC | OpenID Connect | 基于 OAuth 2.0 的身份认证层。在授权的基础上增加了身份验证能力,返回 ID Token(JWT 格式)标识用户身份。 |
134
+ | RBAC | Role-Based Access Control | 基于角色的访问控制。将权限赋予角色,再将角色分配给用户。简化大规模系统的权限管理。 |
135
+ | ABAC | Attribute-Based Access Control | 基于属性的访问控制。根据用户属性、资源属性、环境属性和操作属性动态计算访问权限,比 RBAC 更灵活。 |
136
+
137
+ ## 测试与质量
138
+
139
+ | 术语 | 英文全称 | 定义 |
140
+ |------|----------|------|
141
+ | 契约测试 | Contract Testing | 验证服务间接口契约的测试方法。消费者定义期望的接口行为,提供者验证是否满足。代表工具:Pact。 |
142
+ | 测试金字塔 | Test Pyramid | 单元测试(底层,数量最多)→ 集成测试(中层)→ 端到端测试(顶层,数量最少)的测试分层策略。由 Mike Cohn 提出。 |
143
+ | 影子流量 | Traffic Shadowing / Mirroring | 将生产流量复制一份到新版本服务,但不返回响应给用户。用于在真实流量下验证新版本的正确性和性能。 |
144
+
145
+ ## 性能与扩展
146
+
147
+ | 术语 | 英文全称 | 定义 |
148
+ |------|----------|------|
149
+ | 限流 | Rate Limiting | 控制单位时间内的请求数量,保护系统不被过量流量冲垮。常用算法:令牌桶、漏桶、固定窗口、滑动窗口。 |
150
+ | 熔断降级 | Circuit Breaking & Degradation | 当依赖服务异常时触发熔断停止调用,同时返回降级响应(缓存数据/默认值/简化功能),保障核心链路可用。 |
151
+ | 弹性伸缩 | Auto Scaling | 根据实时负载指标(CPU、内存、请求量)自动增加或减少服务实例数量。包含水平伸缩(实例数)和垂直伸缩(实例规格)。 |
152
+ | 读扩散/写扩散 | Fan-out on Read / Fan-out on Write | 社交 Feed 等场景中的两种数据分发策略。写扩散在写入时推送给所有关注者;读扩散在读取时实时聚合。 |
153
+ | 一致性哈希 | Consistent Hashing | 将数据和节点映射到同一哈希环上的分布式数据分配算法。节点增减时仅影响相邻区间的数据迁移,最小化数据重分布。 |
154
+
155
+ ---
156
+
157
+ ## Agent Checklist
158
+
159
+ - [ ] 术语定义准确且与业界共识一致
160
+ - [ ] 每个术语包含英文全称以便跨语言沟通
161
+ - [ ] 术语覆盖架构评审中常见的核心概念
162
+ - [ ] 表格格式统一,便于快速查阅
163
+ - [ ] 新增术语前已检查是否与现有条目重复
164
+ - [ ] 术语表已同步更新至团队知识库
@@ -0,0 +1,38 @@
1
+ ---
2
+ id: adr-template-and-examples
3
+ title: adr-template-and-examples
4
+ domain: architecture
5
+ category: adr-template-and-examples.md
6
+ difficulty: intermediate
7
+ tags: [adr, and, architecture, examples, template, 模板与示例规范]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 开发:Excellent(11964948@qq.com)
12
+
13
+ ## ADR 模板与示例规范
14
+
15
+ ### 目标
16
+ - 对关键架构决策形成可追溯记录,降低后续误解与返工。
17
+
18
+ ### ADR 标准结构
19
+ - 背景:当前问题、约束、目标。
20
+ - 备选方案:至少 2 个可行方案及优劣对比。
21
+ - 决策结果:选择方案与核心理由。
22
+ - 影响评估:性能、成本、复杂度、组织影响。
23
+ - 风险与回滚:失败情境与回退路径。
24
+ - 验证计划:上线前后验证指标。
25
+
26
+ ### 命名规范
27
+ - `ADR-YYYYMMDD-主题.md`
28
+ - 示例:`ADR-20260306-api-versioning-strategy.md`
29
+
30
+ ### 必填检查项
31
+ - 是否定义受影响模块清单。
32
+ - 是否明确兼容性与迁移策略。
33
+ - 是否给出最终废弃策略与时间点。
34
+ - 是否定义发布后观测指标。
35
+
36
+ ### 常见失败模式
37
+ - 只写结论不写权衡过程。
38
+ - 没有更新历史 ADR 状态,造成“多版本真相”。