网站动静加速架构 dcdn+ga 全站加速和全球加速api

# 背景概述

我们的公司专注于在香港提供服务,但面对的挑战是,我们的客户群体主要分布在中国内地。因此,国内用户访问香港服务时,不可避免地会遇到速度慢的问题。由于我们公司主要从事NFT业务,因此选择在香港提供服务是有其特定原因的。

# 加速策略

## 1.1 静态内容加速

静态内容加速指的是对静态文件,如HTML、JavaScript、CSS、图片等资源的快速分发。这种加速可以通过云服务提供商的CDN(内容分发网络)来实现,从而提升静态资源的加载速度。

## 1.2 动态内容加速

动态内容加速则涉及到实时数据的快速传输,也就是我们常说的API接口数据。由于API数据需要实时更新,无法预先缓存,因此我们的目标是提高API的响应速度。由于响应速度受到网络条件的影响,我们的策略是优化网络传输速度。

# 部署方案

我们选择了阿里云的全球加速产品(D CDN)作为我们的加速解决方案,因为我们所有的资源都托管在阿里云上。

# 架构设计

## 用户访问路径

我们的用户遍布全球,但以国内用户为主。

### 3.1 DNS解析

阿里云提供了智能DNS解析服务,这不仅能够加速域名解析速度,还能提升整体的访问效率。

### 3.2 D CDN接入

D CDN可以被视为阿里云在全球范围内的加速节点。全球有超过3200个节点,智能DNS会根据用户的地理位置选择最近的D CDN节点进行接入。

接入后,D CDN会根据算法计算出最优的回源路径,这条路径可能是阿里云内部网络,也可能是移动、电信或联通的网络,目标是找到最快的网络路径。

### 3.3 全球加速(GA)

D CDN之后是我们购买的全球加速服务(GA)。我们选择了香港和北京作为加速区域。D CDN找到最优路径后,会将流量回传至GA。

GA依托于阿里云强大的BGP网络,拥有自己的网络资源。

### 3.4 应用负载均衡(ALB)

GA回源到我们的ALB,ALB是动态的,能够提供更快的响应速度。最初,我们将Web应用防火墙(WAF)部署在ALB上,但后来为了优化成本和效率,我们将其调整到了D CDN上。

最初WAF部署在ALB时,大量攻击导致D CDN费用增加。因此,我们直接在D CDN上启用了WAF功能,从源头开始过滤攻击,这样既提高了效率,也节省了成本。

### 3.5 后端服务器

最终,流量会到达我们的内网服务器,服务器处理请求并返回数据。

# 总结

加速架构的选择多种多样,关键在于找到适合自己公司业务需求的方案。我们最初的设计并不完善,但通过不断的实践和调整,我们逐步优化了我们的加速架构。

![架构图](https://pic.it1024doc.com/cnblogs/202412/39bb132ff0c4e213fd0899a2ad60e8de.png)

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4438.html

(0)
LomuLomu
上一篇 2024 年 12 月 26 日
下一篇 2024 年 12 月 26 日

相关推荐

  • [Java响应式编程深度解析与实践指南]

    文章框架 核心概念解析 响应式编程范式解读 基础组件剖析 技术实现原理 流量控制机制 实战案例演示 1. 引入必要组件 2. 数据模型定义 3. 接口控制器开发 4. 服务启动流程 5. 接口功能验证 高级应用场景 流量控制实现方案 技术总结 主流框架对比 Project Reactor深度探索 框架特性解析 核心组件说明 应用实例展示 案例1: Mono基…

    未分类 2025 年 5 月 12 日
    30300
  • 数据结构(Java版)第六期:LinkedList与链表(一)

    目录 一、链表 1.1. 链表的概念及结构 1.2. 链表的实现 专栏:数据结构(Java版) 个人主页:手握风云 一、链表 1.1. 链表的概念及结构 链表是⼀种物理存储结构上⾮连续存储结构,数据元素的逻辑顺序是通过链表中的引⽤链接次序实现的。与火车类似,火车头、车厢与每一届车厢之间由火车链连接起来。在物理上,链表是不一定连续的,但在逻辑上一定是连续的。 …

    2025 年 1 月 16 日
    42000
  • java: JDK isn‘t specified for module ‘product-service‘问题解决

    目录 问题 解决方法 1.打开File->Project Structure… 2.将Project SDK修改为17 Oracle OpenJDK 17.0.12,并Apply,OK 问题 添加module后报错:java: JDK isn’t specified for module ‘product-service’ 查看pom.xml文件也添加了…

    2025 年 1 月 19 日
    45800
  • Bolt.new 30秒做了一个网站,还能自动部署,难道要吊打 Cursor?

    大家好,我是汤师爷~ 这篇聊聊 Bolt.new 和 Cursor 的对比。 Bolt.new 是一款基于 SaaS 的 AI 编码平台。它由 LLM 驱动的智能体作为底层,并结合 WebContainers 技术,让用户可以直接在浏览器中进行编码和运行。其主要优势包括: 支持前后端同时开发; 项目文件夹结构可视化; 环境自托管,自动安装依赖(如 Vite、…

    2025 年 1 月 11 日
    51700
  • Java 技术新纪元 —— 基于 Java 的联邦学习技术推动跨行业数据协同创新(238)

    🌟亲爱的技术爱好者们,诚挚欢迎访问【青云交的技术天地】!在这个数字化浪潮席卷全球的时代,我们相聚于此共同探索前沿科技。这里不仅是知识分享的平台,更是思想碰撞的舞台,期待与您携手共创技术新篇章!🌟全网平台(微信公众号/CSDN/抖音/华为/支付宝/微博):青云交一、加入【技术精英社群】快速加入通道1:【青云交技术精英圈】快速加入通道2:【CSDN 技术创作交流…

    2025 年 5 月 12 日
    24200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信