网站动静加速架构 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 日

相关推荐

  • IoC究竟是什么?——IoC的基础分析

    IoC全称Inversion of Control,直译为控制反转。这是一种设计理念,并非技术。在明白控制反转之前,应该知道“反转”反的是什么。 被反转的正转 我们从生活中的做饭场景开始。 在家做菜与餐馆吃饭 我们在做饭的时候有很多个步骤,需要准备原料,厨具等等。最后通过一定的顺序加入我们的原料,再进行翻炒等烹饪操作就能够得到一份菜了。我们想吃一份菜不一定需…

    未分类 2025 年 1 月 13 日
    25400
  • 《重构:改善既有代码的设计(第2版)》PDF、EPUB免费下载

    电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍 点击原文去下载 书籍信息 作者: [美] Martin Fowler出版社: 人民邮电出版社出品方: 异步图书副标题: 改善既有代码的设计原作名: Refactoring: Improving the Design of Existing Code,Second Edition译者: …

    2025 年 1 月 11 日
    17600
  • Java Bean的核心概念与应用解析

    Java Bean是遵循特定编码标准的Java类,其核心作用在于数据封装,并体现约定优先于配置的设计理念。它在企业级开发(如Spring生态)和图形界面开发(如传统Swing组件)中具有重要地位,是Java编程中广泛采用的基础模式。 Java Bean的核心特性 默认构造方法不可少 反射机制(例如Spring框架初始化对象)依赖无参构造器完成实例化 若存在带…

    未分类 2025 年 5 月 18 日
    5500
  • Microi 吾码与 JavaScript:前端低代码平台的强大组合

    目录 一、引言 二、Microi 吾码概述 三、JavaScript 在 Microi 吾码前端开发中的应用 (一)前端 V8 引擎与 JavaScript (二)接口引擎与 JavaScript 四、JavaScript 在 Microi 吾码后端开发中的协同 (一)与 C# 后端框架的交互 (二)利用 gRPC 实现跨语言通信 五、Microi 吾码中 …

    2025 年 1 月 10 日
    22100
  • 实战指南:理解 ThreadLocal 原理并用于Java 多线程上下文管理

    目录 一、ThreadLocal基本知识回顾分析 (一)ThreadLocal原理 (二)既然ThreadLocalMap的key是弱引用,GC之后key是否为null? (三)ThreadLocal中的内存泄漏问题及JDK处理方法 (四)部分核心源码回顾 ThreadLocal.set()方法源码详解 ThreadLocalMap.get()方法详解 Th…

    2025 年 1 月 17 日
    25800

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信