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

相关推荐

  • 深入掌握Map的这8个操作方法,让代码更简洁优雅

    # Map接口及其子类的高效方法应用 在编程世界中,`Map` 接口及其子类如 `HashMap` 和 `ConcurrentHashMap` 是我们频繁使用的集合类型。熟悉 `Map` 接口提供的方法,意味着你已经掌握了其子类中的方法,无论它们是否为并发集合。 自 JDK 8 以来,`Map` 接口引入了一些创新的方法,这些方法极大地提升了数据操作的便捷性…

    未分类 2024 年 12 月 24 日
    34100
  • 微软开源!Office 文档轻松转 Markdown!

    大家好,我是 Java陈序员。 今天,给大家介绍一款微软开源的文档转 Markdown 工具。 关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。 项目介绍 MarkItDown —— 微软开源的 Python 工具,能够将多种常见的文件格式(如 PDF、PowerPoint、Word、Excel、图像、音频…

    2025 年 1 月 14 日
    24700
  • 【C++】深入解析explicit关键字的奥秘(从原理到实践全面掌握explicit的用法)

    目录导航一、开篇引言二、揭开explicit的神秘面纱三、构造函数的隐式转换机制🍏单参数构造函数的隐式转换🔍explicit关键字的引入契机🍊多参数构造函数的特殊情况🔍explicit的实际应用价值🔍explicit的正确使用姿势四、核心要点回顾五、学习寄语 一、开篇引言 在日常C++编程实践中,explicit关键字可能并不常见于我们的代码中。然而,在标准…

    2025 年 5 月 15 日
    10300
  • 【GreatSQL优化器-10】find_best_ref

    【GreatSQL优化器-10】find_best_ref 一、find_best_ref介绍 GreatSQL的优化器对于join的表需要根据行数和cost来确定最后哪张表先执行哪张表后执行,这里面就涉及到预估满足条件的表数据,在keyuse_array数组有值的情况下,会用find_best_ref函数来通过索引进行cost和rows的估计,并且会找出最…

    2025 年 1 月 12 日
    39000
  • Mysql

    MySQL 学习整理 MySQL 基础架构 最上层的客户端所包含的服务并不是 MySQL 独有的,大多数基于网络的客户端/服务器工具或服务器都有类似的服务,包括连接处理、身份验证、确保安全性等。 第二层包含了大多数 MySQL 的核心功能,包括查询解析、分析、优化、以及所有的内置函数(例如,日期、时间、数学和加密函数),所有跨存储引擎的功能也都在这一层实现:…

    2024 年 12 月 28 日
    29500

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信