✅ 一句话理解“前端服务集群”:
前端服务集群是负责处理 HTML 页面渲染和静态资源服务的后端节点,根据渲染模式不同,它的职责也不同:
🚀 前端服务集群的两种常见模式:
✅ 1. CSR:客户端渲染(Client-Side Rendering)
- 前端服务集群的作用:只负责将静态资源(HTML+JS+CSS)发送给浏览器。
- HTML 内容:是个“壳子”,里面只有基本结构。
- 数据加载:由浏览器运行 JavaScript 后,通过 AJAX/Fetch 调用后端 API 获取数据并渲染。
示例流程:
浏览器请求页面 -> 前端服务集群返回 index.html 和 app.js -> 浏览器加载页面框架 -> JS 向后端请求数据 -> 渲染页面
优点:前后端分离,开发体验好,性能更高。
缺点:首屏加载慢、SEO 不友好。
✅ 2. SSR:服务端渲染(Server-Side Rendering)
- 前端服务集群的作用:运行 JS 框架(如 Nuxt.js / Next.js)或 Node.js 环境,直接在服务端把 HTML 页面渲染好再返回。
- HTML 内容:包含了所有渲染好的数据内容。
- 数据加载:由服务端先调用后端 API,再拼接进页面,一起返回。
示例流程:
浏览器请求页面 -> 前端服务集群调用后端接口拿数据 -> 渲染完整 HTML 页面 -> 返回浏览器
优点:首屏快、SEO 友好。
缺点:服务端压力大,架构更复杂。
🏗️ 为什么要部署“前端服务集群”?
- 应对高并发访问:一个 Node.js SSR 服务是单线程的,吞吐有限,需要多实例 + 负载均衡。
- 解耦:前端部署可以独立于 Java 后端。
- 支持灰度发布、A/B 测试等高级功能。
- 前端代码部署在云服务器时,也要高可用、支持热更新、自动扩容。
🧩 总结比较
对比项 | 客户端渲染(CSR) | 服务端渲染(SSR) |
---|---|---|
HTML 是否带数据 | ❌ 无数据 | ✅ 含完整数据 |
数据请求 | 浏览器 JS 请求 API | 服务端 JS 请求 API |
首屏加载速度 | 较慢 | 较快 |
SEO 支持 | 差(需要预渲染或爬虫支持) | 好 |
前端服务职责 | 静态资源分发 | 页面渲染 + 数据合成 |