惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
V
V2EX
量子位
Last Week in AI
Last Week in AI
Jina AI
Jina AI
博客园 - 【当耐特】
爱范儿
爱范儿
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
小众软件
小众软件
IT之家
IT之家
博客园_首页
博客园 - 聂微东
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗

钟意博客

国家统计局数据查询 MCP 照见·硅·肆 涌现之前 照见·硅·叁 换行重启 照见·硅·贰 钢筋水泥 照见·硅·壹 你好世界 照见·硅·零 序言 大语言模型的不确定性 科艺知识库 ARM64 胶东半岛观察 海光 K100 DCU VLLM 推理环境构建 浅谈RAG Web技术构建桌面应用方案 Spring WebSocket 错误 SpringBoot WebSocket 代理模式、客户端模式 Spring AOP 调用自身失效 window 端口占用但是查不到 Coze同插件不同工具之间代码复用 Pachelbel's Greatest Hit: The Ultimate Canon - 纪念帕海贝尔:终极卡农 圣诞快乐,劳伦斯先生 Merry Christmas Mr. Lawrence
博客多平台负载均衡方案
钟意 · 2025-06-21 · via 钟意博客

博客多平台负载均衡方案

折中式 博客多平台负载均衡方案

前言

此前博客在 Vercel 托管,域名是腾讯云 CNAME 到 Vercel 的加速源,但是最近发现这个方案有如下问题:

  1. 神秘力量:有时网络只位于墙内或墙外,单向访问
  2. 额度耗尽:Vercel 的免费额度是 100G/月,这个月博客居然把额度耗尽
  3. 容灾能力:受单平台限制没有灾害转移能力,包括不限于对网络问题、额度问题的处理

基于以上问题,前天计划周末进行多平台负载均衡,增强博客的稳定性与白嫖性。虽然不能完美解决,但已经得到很大改善。

而且该方案可复用于无状态、一致性的项目,如:博客、文档、SPA、只读类接口、静态加速等等。毕竟额度不够,平台账号数量来凑。

问题

考虑到该方案的可能缺陷,如统计数据、SEO易混乱、部分平台行为不一致、首次 TLS 握手稍慢等等,未来将在此处记录出现的问题与解决方案。

方案

准备过程

  • 服务器:可以是微型服务器,只用来运行负载均衡程序。最好是香港服务器防止国内网络问题。
  • 域名:可以是任何域名,但需要解析到服务器的 IP 地址。
  • 负载均衡程序:可以是任何具备负载均衡程序,如 Nginx、OpenResty 等。
  • 多平台账号:Vercel、Netlify、Cloudflare 等。

设计思路

  1. 部署博客在Vercel等多平台,不需要配置DOMAIN,用默认的域名即可。
    • Hexo等框架通常生成一个静态的 public 文件夹,上传到 Git 仓库中在 Vercel、GitHub Pages、Cloudflare Pages、Netlify 等引用仓库部署。(后续推送会自动触发更新)
    • 需要的话服务器本身也可以托管一份
  2. 域名解析到服务器的IP地址
  3. 服务器安装负载均衡程序,自行搜索《Linux安装Nginx》之类的教程。
  4. 签发证书,新建站点,并配置规则。(配置完无需维护,除非部署平台有增减)

详细教程

视频教程

因为对于服务器新手配置可能过于宽泛与繁琐,录制了视频作为参考。

效果

网站测速

博客国内访问效果

博客国内访问效果

博客海外访问效果

博客海外访问效果

必应索引

测试了必应站点地图索引与网站扫描与往常一致。

局限性与解决思路

需要自建服务器

维护成本高于单纯用平台白嫖部署,但可以选择轻量 VPS(1H/1G 足矣)。

不具备主动健康检查

负载均衡程序本身不具备主动健康检查功能,无法动态剔除故障节点,只能故障转移。可通过 max_fails + 定时 reload 替代;未来可引入 Lua 脚本来实现。

SEO问题

多副本可能被搜索引擎识别为重复,可通过添加 canonical标签、站点地图等指向源站。(Stellar已实现)

部分平台行为不一致

如平台对404错误处理不一致,可添加自定义 404 页面。(Stellar已实现)