场景决策 — 什么时候用?

不是知识点,是决策地图。遇到问题 → 选对工具 → 避开边界

✅ 什么时候用  ❌ 什么时候不用  ⚠️ 边界与陷阱
← 返回全栈资料库
🎨
前端场景决策
Vue + React + CSS + 性能 + 工程 + 网络 · 7篇
💚 Vue 场景决策
KeepAlive 什么时候用/什么时候不能用?computed 和 watch 怎么选?ref 和 reactive 边界在哪?v-if 还是 v-show?组件通信怎么选?Pinia 什么时候该上?路由守卫用哪个?
KeepAlive边界 computed vs watch ref vs reactive v-if vs v-show nextTick场景 Pinia选型 组件通信 路由守卫
⚛️ React 场景决策
useMemo 和 useCallback 什么时候才需要?useEffect 依赖数组怎么填才不出 Bug?React.memo 什么时候加反而更慢?状态管理怎么选?并发渲染用什么?
useMemo vs useCallback useEffect陷阱 React.memo 状态管理选型 Suspense/Portal SSR vs CSR 并发特性
🎨 CSS/HTML 场景决策
Flex 还是 Grid?BFC 什么时候需要创建?position 五种值怎么选?居中方案哪个最佳?响应式方案怎么选?CSS 动画 transition vs animation?语义化标签怎么用?CSS-in-JS 还是 CSS Modules?
Flex vs Grid BFC position 居中方案 响应式 CSS动画 CSS变量 语义化
前端性能优化场景决策
懒加载什么时候用什么时候不用?虚拟滚动怎么选?防抖和节流怎么选?Web Worker 什么时候值得开?缓存策略怎么设计?预加载和预获取区别?代码分割怎么做?图片格式怎么选?SSR 还是 CSR?
懒加载 虚拟滚动 防抖节流 Web Worker 缓存策略 预加载 代码分割 图片优化
🌐 浏览器与网络场景决策
HTTP/2 该不该上?强缓存还是协商缓存?CORS 怎么配?WebSocket 还是 SSE?请求方法怎么选?状态码怎么用?Cookie 还是 Token?
HTTP/2 缓存策略 CORS 跨域方案 WebSocket vs SSE 请求方法 Cookie vs Token
🔧 前端工程化与安全场景决策
Monorepo 还是多仓库?微前端什么时候用?Vite 还是 Webpack?CI/CD 怎么搭?自动化测试策略?XSS/CSRF/CSP 怎么防?Git 规范怎么定?
Monorepo 微前端 Vite vs Webpack CI/CD 自动化测试 XSS CSRF CSP
⚙️
后端场景决策
Java + Spring + API + 微服务 + MQ · 5篇
Java 后端场景决策
线程池拒绝策略哪个适合你?CompletableFuture 和 @Async 怎么选?synchronized 还是用锁?ArrayList 和 LinkedList 真的只是"查多改多"吗?@Transactional 什么时候会悄悄失效?异常处理怎么设计?
线程池拒绝策略 CF vs @Async 锁选型 集合选型 @Transactional失效 异常处理 设计模式场景 Spring注解
🍃 Spring Boot 深度场景决策
AOP 什么时候用什么时候滥用?事件机制解耦边界?Profile 怎么管理多环境?条件装配怎么设计?自定义 Starter 值得做吗?拦截器和过滤器怎么选?异常体系怎么设计?配置管理最佳实践?
AOP 事件机制 Profile 条件装配 自定义Starter 拦截器vs过滤器 异常体系 配置管理
🔗 API与微服务场景决策
REST 还是 GraphQL?API版本怎么控制?偏移分页还是游标分页?限流算法怎么选?认证方案怎么选?服务拆分时机?网关怎么选?熔断降级怎么设计?
REST vs GraphQL API版本控制 分页方案 限流 认证方案 服务拆分 网关 熔断降级
📨 消息队列场景决策
到底要不要引入 MQ?Kafka/RabbitMQ/RocketMQ 怎么选?消费模式推拉怎么选?幂等消费怎么做?顺序消费怎么保证?死信队列怎么处理?延迟队列方案?消息积压怎么应急?
要不要MQ MQ选型 幂等消费 顺序消费 死信队列 延迟队列 消息积压
🗄️
数据库场景决策
MySQL + Redis
🐬 MySQL 场景决策
索引什么时候建、什么时候反而有害?三种 JOIN 什么时候用哪种?事务隔离级别四个等级实战怎么选?分库分表什么时候该做?数据类型怎么选最省空间?
索引决策 JOIN选型 事务隔离级别 分库分表时机 数据类型选型 慢查询排查
🔴 Redis 场景决策
缓存策略四种模式怎么选?五种数据结构各适合什么场景?分布式锁什么时候上?主从/哨兵/Cluster 什么时候用哪种?穿透击穿雪崩各怎么防?
缓存策略 数据结构选型 分布式锁 集群选型 穿透/击穿/雪崩
🚀
Debug排查与部署运维
排查思路 + 部署策略 + 监控告警 + Nginx · 3篇
🔍 Debug排查场景决策
出问题了先看日志还是先抓包?火焰图怎么看?线程dump和堆dump什么时候用?Arthas怎么在线诊断?链路追踪怎么选?排查思路怎么走?
看日志 抓包 火焰图 线程dump 堆dump Arthas 链路追踪 排查思路
🚀 部署运维场景决策
Docker 什么时候用什么时候不用?K8s 什么时候该上?蓝绿部署/金丝雀/滚动更新怎么选?回滚怎么操作?日志收集方案?监控告警怎么设计?优雅停机怎么做?
Docker K8s 部署策略 回滚 日志收集 监控告警 优雅停机 健康检查
📋 日志收集方案详解(Loki / Grafana / ELK)
结果导向选型:中小团队选 Loki+Grafana,要全文搜索选 ELK,上云不想运维选 SLS/CLS。含 Grafana 界面演示、Loki vs ES 核心差别、3 个生产场景、3 个坑与事故。不啰嗦,直接告诉你怎么选。
ELK EFK Loki Grafana Promtail Logstash Elasticsearch 云日志
🟢 Nginx 能力与生产实战
结果导向:Web 服务入口标配。反向代理/负载均衡/HTTPS/Gzip/限流/灰度发布全覆盖。含 nginx.conf 结构、7 段核心配置、3 个生产场景带界面演示(access log 流/灰度流量面板/限流监控)、4 个真实翻车事故。不啰嗦,直接告诉你怎么配怎么避坑。
反向代理 负载均衡 HTTPS终结 Gzip 限流 灰度发布 静态资源 SPA部署
🔷 ShardingSphere 分库分表实战
结果导向:数据量扛不住才分。分片策略(垂直/水平/分片键/4种算法)/读写分离/分布式ID/扩容/跨库问题全覆盖。含 ShardingSphere-JDBC YAML 配置、3 个生产场景带界面演示(SQL路由日志/读写分离监控/扩容任务面板)、4 个真实翻车事故(跨库JOIN/深度分页/分布式事务/广播查询)。MyCat 过时不写。
分库分表 分片键 读写分离 雪花ID 扩容 跨库JOIN 分布式事务 深度分页
🐘 ZooKeeper 分布式协调实战
结果导向:分布式协调服务,不是数据库。临时节点+Watch 是灵魂,衍生出分布式锁/Leader选举/注册中心。含 ZNode 树结构、ZAB 选举原理、Curator 分布式锁代码、3 个生产场景带界面演示(锁面板/选举时间线/服务注册列表)、4 个翻车事故(Watch漏事件/Session假死/羊群效应/脑裂)。新项目用得少,主要 Kafka+Dubbo 老项目。
ZooKeeper 分布式锁 Leader选举 Watch 临时节点 ZAB协议 注册中心 CP一致性
🔵 Nacos 注册中心与配置中心实战
结果导向:Spring Cloud 微服务首选,注册中心+配置中心一站式。Namespace(环境)/Group(业务)/Service 三层隔离。含 bootstrap.yml 配置、@RefreshScope 动态刷新、3 个生产场景带界面演示(服务上下线/配置动态推送/多环境管理)、4 个翻车事故(bootstrap 坑/Namespace 误连/连接池不重建/集群宕机)。干掉 ZK+Eureka+Apollo 组合。
Nacos 服务发现 配置中心 Namespace 动态刷新 AP/CP 多环境 灰度发布
🏗️ 高可用与集群架构详解(7技术全景)
结果导向:MySQL/Redis/ES/MongoDB/Kafka/ZooKeeper/Nacos 7 大技术的高可用方案、集群架构、选型指南一页讲透。含每种技术的架构演进 SVG 图(MySQL 主从→MHA→MGR / Redis 哨兵→Cluster / ES 分片副本 / MongoDB 副本集→分片 / Kafka ISR / ZK Zab / Nacos AP+CP)、统一选型决策树、经典互联网架构 7 层全景图、3 个生产场景模拟(MHA 故障切换/Redis Cluster 扩容/ES Rebalance)、4 个真实踩坑记录(主从延迟/MOVE风暴/31GB堆内存/Kafka丢消息)、5 个 FAQ。
高可用 集群 MySQL Redis Elasticsearch MongoDB Kafka ZooKeeper Nacos MHA MGR CAP 故障转移
🧭 场景决策的核心思维