全栈 Node 架构篇
高频架构题速览,帮助你在面试中系统讲清 Node 服务端、前后端协作与云原生部署策略。
1. BFF 与微服务网关的职责划分
- 典型回答:BFF 聚焦聚合接口、契约编排、缓存策略;网关负责认证、限流、熔断、观测。
- 示例架构:
Next/Nuxt 前端 ➜ Node BFF (Fastify/Nest) ➜ gRPC/REST 微服务
,BFF 内可注入 AI 召回与重排逻辑。 - 面试延伸:如何处理“部分 API 迁移到 Serverless/Edge”?说明通过 Feature Flag、流量权重切换,保障灰度。
2. Node 服务的弹性与部署策略
- 单体 + 容器:使用 Docker 多阶段构建 + K8s HPA,根据 CPU、队列长度扩缩容。
- 无服务器:Vercel Functions、AWS Lambda、阿里 FC,优势是按量计费;需优化冷启动与数据库连接复用。
- 边缘:Cloudflare Workers、Bun/Node on Deno Deploy;适合低延迟 AI 推理前置,如敏感词检测、Prompt 预处理。
3. 数据流与一致性设计
- 读写分离:PostgreSQL + Read Replica,通过
pgbouncer
统一连接。 - 事件驱动:Kafka/Pulsar 结合
kafkajs
/pulsar-client
,实现“埋点 ➜ 数据湖 ➜ AI 标注 ➜ 召回”。 - 幂等性:请求去重、幂等键、分布式锁(Redis、Zookeeper)是面试常考点,记得举实际案例。
4. 安全与合规必答题
- 身份认证:OIDC/OAuth2,与钉钉/飞书/BOSS 企业账号打通;使用
jose
库管理 JWT。 - 数据安全:KMS 加密、字段脱敏、敏感 prompt 拆分;AI 服务需设置调用限额与审计日志。
- 依赖治理:SBOM、漏洞扫描(Snyk、Trivy),以及如何在 CI 中阻断风险版本。
5. 可观测性与成本治理
- Metrics:Prometheus + Grafana;Tracing:OpenTelemetry + Tempo/Jaeger。
- 日志:Pino/Elastic Stack,建议引用结构化日志示例。
- 成本:对 Node BFF 与 AI 推理分别统计 QPS、延迟、Token 消耗,结合飞书/Notion 输出日报。
6. 性能调优与压测
- 压测工具:k6、wrk、autocannon;在面试中说明如何编写脚本模拟并发、设置突增流量。
- 常见瓶颈:事件循环阻塞、慢 SQL、第三方 AI 服务超时。解决方案包括 Worker 线程、缓存前置、并行 Promise、Fallback。
- 给出真实指标:例如“将向量相似度计算交给 Rust Wasm 后,P95 延迟从 180ms 降到 30ms”。
7. 版本与发布策略
- GitOps:ArgoCD/Flux,保障变更可审计。
- 蓝绿/金丝雀:Istio、Nginx,或 Vercel 的“Preview + Production”流程。
- 回滚 SOP:记录数据库变更脚本、配置变更、Prompt 版本;必要时使用特性开关关闭 AI 功能。
资料推荐:OpenTelemetry 官方示例、Cloudflare Workers AI Playbook、阿里云《Node.js 云原生实践》。
↑