BOSh
文章272
标签408
分类100
315晚会 36氪 80后 ADB AI AI Agent AI PC AI 代理 AI 助手 AI 网关 AI 评测 AI助手 AI大模型 AI安全 AI应用 AI智能体 AI网关 API API 集成 AWS Agent Agentic AI AionUi Android Apple Automation Backup Bosh C++ CDN CEO CI/CD CLI CLI Proxy API CLIProxyAPI CRM Chrome 插件 Claude Opus 4.6 Cloudflare ConnectBot Credential Manager CurrentEvents DNS Debian DeepSeek DenchClaw DevOps Docker Elon Musk GCP GEO GPL GPS GPU Gemini Gemini 3.1 Pro Ghostty GitHub GitHub Actions Gmail Gog Google Google AI Pro Google API Google Gemini Google Photos Google Pixel HKUDS Hardware Hermes Hermes Agent Hexo HidenCloud Hugo IPV6 Jetpack Compose John Turnus Karpathy Kimi-K2.5 Kotlin LINUX LTS LaTeX Linux Markdow Markdown MemU Bot MiniMax Musk NAT64 NIX NODE NVIDIA Build NanoClaw Netcatty Netlify Newsletter Open WebUI OpenAI OpenAI 兼容接口 OpenCLI OpenClaw PDF 编译 PicoClaw Pixel Pixel 1 Pixel 12 Prismer Pura90 Python QClaw QQ机器人 RAG Reddit Rust SFTP SSH Skills SoC Subagent SuperCall Syncthing TPU TSMC Telegram Bot Tensor Tensor G7 Tim Cook Ubuntu VLESS VPS Vercel WeChat Web3 WebSSH Windows WorkBuddy X XChat XHTTP X热榜 YouTube ZeroClaw arXiv arch c++ git hugo iMessage iOS n8n nanobot node js ntfs pacman podman zz.ac 东海 两性关系 个人助理 中东 中东冲突 中东局势 中关村论坛 中南大学 中国 中美 习惯养成 云同步 云服务器 亚洲 人性 代理 代金券 以色列 任务管理 伊朗 伊朗危机 伊朗战争 伦理 体育 保护主义 信息流 信息管理 停火 健康管理 光通信 免费VPS 免费试用 共和党 关系 养老金 内容工厂 内容生产 内容筛选 军事冲突 军事动态 军民融合 农村 分享 分配 创业 办公自动化 加密 加密货币 加沙 北斗 医学生 半导体 华为 博客 博客助手 博客发布 博客部署成功 卫星 原生 JS 反思 反重力 台海局势 台湾 命令 命令行 喷嚏网 国产 国产化 国产替代 国际 国际关系 国际局势 国际新闻 图卦 图说 地缘政治 基础设施 多代理 多模态AI 大学分析 大模型 孙少平 学习 安全 实时监控 家庭助理 家庭服务器 家装设计 工作总结 工作效率 工作流编排 工具链 平凡的世界 平台责任 庞氏骗局 开发 开发实录 开源 开源项目 张雪峰 微信 心理健康 情感 战争 房地产 手机 技术分享 投资工具 指标看板 提示词工程 播客 收件箱清理 效率 效率工具 教程 教育制度 数据分析 数据投毒 文件管理 文献管理 新能源汽车 新闻汇总 日历聚合 时事 时事总结 显卡 晨报 智能体 智能体生态 朝鲜 架构 架构实践 核协议 核武器 桌面Cowork 模型接入 模型配置 每日图说 比亚迪 油价 法律 活动运营 浏览器自动化 消息通道 消费者权益 深度学习 渔船 游戏开发 湘雅医院 潘石屹 热点新闻 版本更新 特朗普 生态系统 生活 生活自动化 生物识别 用例 甲骨文云 电池技术 症状追踪 白嫖攻略 白山云 皮皮虾 监管 目标管理 知识库 社交媒体 社会保障 社会公平 社会百态 社会观察 科技 科研助手 笔记 第一财经 算法 算法推荐 纽森 经济 经济观察 经验分享 编程 网关 网络 网络安全 美伊冲突 美伊谈判 美国 美国大选 美国政治 能源安全 脚本 腾讯 腾讯,龙虾,OpenClaw 腾讯云 自动化 自动化创作 自动化协作 自动化提醒 自动化流水线 自动化脚本 自动化运维 自律教练 自由软件 芯片 行为改变 视频摘要 解锁 计算摄影 记录 许可证 论文写作 论文阅读 语义搜索 语音代理 读书 读书笔记 读后感 谷歌云 财报季 路遥 身份验证 迁移 运维 进化论 远程运维 选车 邀请确认 部署 部署指南 量子计算 销售自动化 阅读感悟 随笔 隐私 霍尔木兹 霍尔木兹海峡 韬定律 项目管理 风险管理 飞书 高中生活 高可用 高考 高考志愿 鸽巢原理 麒麟 麒麟9050 黎巴嫩 龙虾

一言

文章归档

高可用架构实操:利用 Cloudflare 实现多服务器 DNS 轮询与全站缓存

高可用架构实操:利用 Cloudflare 实现多服务器 DNS 轮询与全站缓存

单点故障(SPOF)是任何线上服务的噩梦。如果你只有一个服务器,那么它宕机之时,就是你博客离线之日。

为了追求极端的稳定性,我给自己的博客搞了一套 多服务器轮询 (Round Robin) + 边缘缓存 的架构。简单来说,就是把流量分散到四个不同的节点:GitHub Pages、Serv00、CT8 和 zz.ac。无论哪家厂商抽风,用户依然能秒开网页。

核心原理:DNS 轮询与 CNAME 拉平

在常规 DNS 中,一个域名通常指向一个 IP。但 Cloudflare 支持为同一个名称(如 @)添加多条记录。当用户请求域名时,Cloudflare 会在这些记录之间进行随机轮询。

得益于 Cloudflare 的 CNAME Flattening (CNAME 拉平) 技术,我们可以把 A 记录(IP)和 CNAME 记录(域名)混在一起绑定到根域名上,无需担心协议冲突。


第一步:构建 DNS 轮询矩阵

登录 Cloudflare -> DNS -> Records,依次添加以下记录。关键点:所有记录必须开启「代理状态 (Proxied)」,即点亮黄色小云朵。

  1. GitHub Pages (CNAME):
    • 名称: @ -> 目标: username.github.io
  2. Serv00 (A):
    • 名称: @ -> IPv4: [Serv00_IP]
  3. CT8 (A):
    • 名称: @ -> IPv4: [CT8_IP]
  4. zz.ac (A/CNAME):
    • 名称: @ -> 地址: [zz.ac_Address]

此时,你的 DNS 列表中会出现四条名称同为 @ 的记录。这意味着流量将被分发到这四个不同的物理节点。

第二步:开启「全站强力缓存」 (核心环节)

默认情况下,Cloudflare 只缓存图片、CSS 等静态资源,而 HTML 页面是不缓存的。如果轮询到了一个宕机的服务器,用户依然会看到报错。

我们要强制 Cloudflare 将整个静态站 100% 缓存到全球边缘节点:

  1. 进入 Rules (规则) -> Page Rules (页面规则) -> Create Page Rule
  2. URL 匹配: *yourdomain.com/* (匹配所有路径)。
  3. 设置选项:
    • Cache Level (缓存级别) -> Cache Everything (缓存所有内容)
    • Edge Cache TTL (边缘缓存 TTL) -> 设置为 1天7天

这样一来,HTML 页面也被缓存到了边缘节点。即使后端四台服务器全部宕机,只要缓存没过期,用户依然能看到网页内容。

第三步:开启 Always Online™ (最后一道防线)

Caching (缓存) -> Configuration (配置) 中,将 Always Online™ 开关开启。当所有源站都不可用时,Cloudflare 将利用历史缓存数据继续维持网站在线。


⚠️ Bosh 的避坑指南 (Critical Pitfalls)

  1. SSL/TLS 证书噩梦
    由于四个主机的证书配置各异(有的支持,有的不支持自定义域名证书),建议在 SSL/TLS 中将加密模式设为 Flexible (灵活)

    • 原理:用户 $\leftrightarrow$ Cloudflare (加密) -> 服务器 (不加密)。
    • 目的:完美避开 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误。
  2. 内容更新延迟 (Cache Lag)
    开启了「缓存所有内容」后,执行 hexo d 推送更新后,用户可能看不到最新内容。

    • 对策:每次更新完博客,必须前往 Caching -> Configuration -> 点击 Purge Everything (清除所有内容),强制全球节点刷新。

架构总结

通过这次配置,我的博客实现了:
多厂商分发 -> DNS 随机轮询 -> 边缘 HTML 缓存 -> 灵活 SSL 兼容 -> 自动故障切换。

这套方案让博客的可用性从 99% 提升到了 99.99%。只要互联网还没崩溃,我的博客就在线。 💻⚡️


本文由 BOSH 的博客助手 HerMes 整理 💻

本文作者:BOSh
本文链接:http://bosh.zz.ac/posts/259826024.html
版权声明:本文由BoSh发布,部分内容来源于网络。