用途
Python Backend Architecture Review 是一个面向 Python 后端应用的全面架构评审技能。当用户要求评审、分析或对后端架构提供反馈时启用,适用于架构设计文档评审、系统设计与可伸缩性分析、安全评审、数据库与 API 设计评估、微服务架构评审、性能优化建议、云基础设施评审、代码组织与项目结构分析等场景。
主要能力
技能覆盖以下评审维度:
- 系统架构与设计模式:整体架构风格(单体、微服务、无服务器、混合)、服务边界与职责、通信模式(同步/异步、REST/GraphQL/gRPC)、事件驱动、CQRS 与事件溯源、领域驱动设计、关注点分离、依赖管理。
- 数据库架构:数据库类型选择、数据建模、规范化与反规范化、分片与分区、读副本与复制、缓存层、连接池、事务管理、一致性模型。
- API 设计与通信:API 设计模式、端点结构与命名、请求响应格式、版本策略、认证授权、限流、文档、契约优先与代码优先、WebSocket、消息队列集成。
- 安全架构:认证机制(JWT、OAuth2、会话)、授权模型(RBAC、ABAC、策略)、API 安全(限流、CORS、CSRF)、数据加密、密钥管理、网络安全、输入校验、SQL 注入防护、XSS/CSRF 防护、依赖漏洞扫描、安全响应头。
- 可伸缩性与性能:水平与垂直扩展、负载均衡、自动扩缩容、缓存策略、异步处理、后台任务(Celery、RQ、Dramatiq)、队列架构、读副本、连接池、资源优化。
- 可观测性与监控:日志策略与集中化、指标采集与聚合、分布式追踪、错误跟踪与告警、健康检查、性能监控、业务指标。
- 部署与基础设施:容器化(Docker)、编排(Kubernetes、ECS 等)、CI/CD、环境管理、基础设施即代码(Terraform、CloudFormation)、蓝绿或金丝雀部署、回滚流程、配置与密钥管理。
- 代码组织与项目结构:目录结构、模块与包组织、依赖注入、配置管理、环境变量、测试策略、代码复用、包/模块边界。
- 数据流与状态管理:请求生命周期与数据流、状态管理、会话管理、缓存失效、事件流、数据转换层、数据校验点。
- 弹性与错误处理:重试与退避、熔断器、超时配置、优雅降级、错误处理一致性、死信队列、舱壁模式、限流。
使用方式
技能要求先理解上下文并澄清问题,包括预期规模(用户、请求/秒、数据量)、性能要求(延迟、吞吐)、安全与合规要求、团队规模与专业能力、预算约束、时间线。若提供架构图或文档,则分析组件关系与边界、数据流、外部依赖、技术栈选择与部署拓扑。评审过程强调互动:从澄清问题开始,询问约束条件,理解业务领域与需求,请求图表或文档,对大型架构提供增量反馈,并可就特定领域深入。
输出格式
评审按固定结构组织:整体架构评估(1—3 段)、关键优势、需立即关注的关键问题、整体成熟度与就绪度;随后按每个评审领域给出优势、关切(HIGH 必须解决、MEDIUM 应当解决、LOW 可改进)与具体可执行建议、替代方案、最佳实践及 Python 相关库或工具建议;最后包括架构模式与最佳实践、技术栈评估、可伸缩性路线图、安全检查清单、按 must-fix / should-fix / nice-to-have 排序的下一步与优先级,并包含估计工作量与依赖。
Python 专属考量
技能在每个维度中列出 Python 相关要点,例如:框架选择(FastAPI、Django、Flask)、ASGI 与 WSGI、async/await 模式与 GIL 影响、多进程与多线程策略;ORM 选择(SQLAlchemy、Django ORM、Tortoise ORM)、原始 SQL 与 ORM 权衡、异步数据库驱动(asyncpg、motor)、迁移工具(Alembic、Django migrations);Pydantic 校验模型、Django REST Framework 序列化器、GraphQL 库(Strawberry、Graphene、Ariadne)、gRPC-python 代码生成;python-jose/PyJWT、bcrypt/argon2 密码哈希、python-dotenv、SQLAlchemy 参数化查询;ASGI 服务器(Uvicorn、Hypercorn)、Gunicorn 工作进程配置、Celery 工作进程配置、asyncio 最佳实践、性能剖析(cProfile、py-spy)、GIL 变通方案;结构化日志库(structlog、python-json-logger)、OpenTelemetry Python SDK、Sentry 集成、StatsD/Prometheus 客户端、异步上下文传播;Docker 镜像优化(多阶段构建)、依赖管理(pip、Poetry、PDM)、容器内虚拟环境、Python 版本管理、编译依赖 wheel;包结构(src 布局与扁平布局)、init.py 组织、导入模式与循环导入预防、类型提示与 mypy 配置、Pydantic 设置管理、pytest 组织与 fixture;tenacity 重试、asyncio 超时、异常层次设计、上下文管理器资源清理。
参考资源与工具建议
技能建议参考 12-Factor App 原则、Python 包推荐、云厂商最佳实践(如 AWS Well-Architected)、安全框架(OWASP Top 10)、性能基准资源、开源参考实现与 Python 相关资源(PEP 等)。工具建议涵盖静态分析(Ruff、pylint、flake8、mypy)、安全扫描(Bandit、Safety、Snyk)、性能剖析(cProfile、py-spy、scalene)、负载测试(Locust、Artillery)、监控(Prometheus、Grafana、DataDog)、文档(Sphinx、MkDocs)、依赖管理(Poetry、PDM、pip-tools)、代码格式化(Black、Ruff)。
沟通风格与交付物
评审沟通要求建设性、具体、解释建议背后的原因、提供示例与代码片段、平衡批评与认可、清晰区分优先级、在适用时提供多种解决方案、考虑团队上下文与约束,并使用清晰专业的语言与 Python 代码示例。交付物包括:整体评估的高层摘要、各评审领域的详细发现、优先级排序的建议、安全检查清单、可伸缩性路线图(如适用)、技术栈评估、含工作量估计的下一步,可选示例代码或架构图、参考链接与资源。评审后还可就特定领域深入评审、指导落地建议、协助具体技术挑战、评审更新后的设计并回答后续问题。
限制
技能文档未说明其支持的模型、平台、是否收费、价格或具体性能效果;这些信息暂未提供。适用语言、可用性范围以及与其他工具的集成方式也暂未提供。