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

# 背景

我们的公司提供的所有服务均位于香港,这意味着我们的客户,主要分布在中国内地,访问这些服务时可能会遇到速度较慢的问题。由于我们专注于NFT领域,因此选择在香港提供服务。

# 一、加速策略

## 1.1 静态资源加速

静态资源加速是指对如HTML、JavaScript、CSS和图像文件等静态文件的快速分发。利用云服务提供商的CDN服务,我们可以有效地提升这些静态资源的加载速度。

## 1.2 动态数据加速

动态数据加速则涉及到实时数据的处理,特别是API接口的数据。由于这些数据需要实时更新,我们不能简单地通过缓存来加速。因此,我们的目标是提高API的响应速度,这通常受到网络条件的限制。

# 二、部署方案

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

# 三、架构细节

## 用户访问路径

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

### 3.1 第一步:DNS解析

阿里云提供的智能DNS解析服务可以加速域名解析过程,这是用户访问我们服务的第一步。

### 3.2 第二步:D CDN

D CDN可以被视为阿里云在全球范围内的接入点。全球有超过3200个节点,智能DNS会根据用户的地理位置选择最近的节点,然后D CDN会计算出最优的回源路径。

### 3.3 第三步:全球加速(GA)

D CDN之后是我们购买的全球加速服务(GA)。我们选择了香港和北京作为上车点。GA依托于阿里云强大的BGP网络,确保数据传输的高效性。

### 3.4 第四步:应用负载均衡(ALB)

GA回源到我们的ALB,这是一个动态的负载均衡器,可以提高响应速度。最初,我们将Web应用防火墙(WAF)部署在ALB上,但后来为了降低D CDN的费用,我们将WAF功能集成到了D CDN中,从源头过滤攻击,提高了效率并节省了成本。

### 3.5 第五步:后端服务器

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

# 四、总结

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

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

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

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

相关推荐

  • 库存系统:仓库层、调度层、销售层的库存数据模型设计

    大家好,我是汤师爷~ 让我们一起深入挖掘库存概念模型的设计精髓,这不仅是构建库存管理系统的基石,更是确保库存数据精准和一致性的核心所在。 库存的数据模型设计 下图展示了库存概念模型的设计概览。通过精心设计的概念模型,我们能够有效支撑库存管理的多元化业务需求。 仓库层 仓库层是商品库存存放和管理的实际场所,承担着具体的仓储操作任务。它涵盖了企业自建仓库、第三方…

    2024 年 12 月 24 日
    37800
  • Java List 集合详解:基础用法、常见实现类与高频面试题解析

    正文 在 Java 集合框架中,List 是一个非常重要的接口,广泛用于存储有序的元素集合。本文将带你深入了解 List 接口的基本用法、常见实现类及其扩展,同时通过实际代码示例帮助你快速掌握这些知识。 👉点击获取2024Java学习资料 1. 什么是 List? List 是 Java 集合框架中的一个接口,它继承了 Collection 接口,用于存储一…

    未分类 2025 年 1 月 1 日
    30500
  • 深入解析Java中的嵌套类机制

    探索Java嵌套类的奥秘 📚📚本文将系统性地介绍Java嵌套类的核心概念、应用场景及具体实现方式,帮助开发者全面掌握这一重要特性。内容导航1. 嵌套类基本概念2. 嵌套类的优势分析3. 嵌套类的实践应用🍇实例成员嵌套类🍈类静态嵌套类🍊方法局部嵌套类🍒匿名实现类📚要点回顾 1. 嵌套类基本概念 🥦🥦🥦当某个对象需要包含具有完整结构的辅助对象时,而这些辅助对象仅…

    2025 年 5 月 18 日
    14700
  • Java笔记(一)内部类

    这是关于我对内部类理解的笔记,可能写的不怎么好,所以虚心接受大佬的指导 内部类(Nested Class) 定义在一个类中的另一个类被叫做内部类(Inner Class), 内部类有四种类型成员内部类、静态内部类、局部内部类、匿名内部类 成员内部类、局部内部类、匿名内部类中 成员内部类 “`java // inner class public class …

    未分类 2025 年 1 月 7 日
    25400
  • Java刷题训练第一期

    个人主页:手握风云 专栏:Java刷题训练营 1. 字符转ASCII码 问题描述:BoBo教KiKi字符常量或字符变量表示的字符在内存中以ASCII码形式存储。BoBo出了一个问题给KiKi,输入一个字符,输出该字符相应的ASCII码。 输入描述:一行,一个字符。 输出描述:一行,输出输入字符对应的ASCII码。 算法分析:在Java当中,没有针对字符的输入…

    2024 年 12 月 31 日
    38400

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信