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

相关推荐

  • vue3 + pnpm 打造一个 monorepo 项目

    单一仓库与多仓库架构 单一仓库(Monorepo)架构是一种策略,它允许我们在一个单一的仓库中管理多个项目或包;而多仓库(Multirepo)架构则是将每个项目分别存放在不同的仓库中。 在Monorepo结构中,除了根目录下有一个公共的package.json文件外,每个子项目(sub-package)也有自己的package.json文件。 子项目之间可以…

    未分类 2024 年 12 月 24 日
    43800
  • 华为OD机试E卷 –补种未成活胡杨 –24年OD统一考试(Java & JS & Python & C & C++)

    文章目录 题目描述 输入描述 输出描述 用例 题目解析 JS算法源码 Java算法源码 python算法源码 c算法源码 c++算法源码 题目描述 近些年来,我国防沙治沙取得显著成果。某沙漠新种植 N 棵胡杨(编号 1-N),排成一排一个月后,有 M 棵胡杨未能成活现可补种胡杨 K 棵,请问如何补种 (只能补种,不能新种),可以得到最多的连续胡杨树? 输入描…

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

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

    2025 年 1 月 10 日
    44700
  • A5433 Java+Jsp+Servlet+MySQL+微信小程序+LW+在线点餐小程序的设计与实现 源码 配置 文档

    在线点餐小程序的设计与实现 1.摘要 2.开发目的和意义 2.1 系统开发目的 2.2 系统开发意义 3.系统功能设计 4.系统界面截图 5.源码获取 1.摘要 摘 要近几年,人们生活水平日益提升,但工作强度和压力不断增强,尤其是对于上班族而言,到餐厅吃饭费时费力,而传统的APP点餐难以适应针对性,基于此,借助Web开发技术以及后台数据库,设计了在线点餐小程…

    2025 年 1 月 11 日
    43300
  • 一款基于 Vue + SpringBoot 前后端分离的开源博客系统!

    大家好,我是Java陈序员。 今天,我要向大家展示一款采用Vue和SpringBoot技术栈构建的开源博客系统——拾壹博客! 项目概览 拾壹博客(shiyi-blog)是一款现代化的博客系统,实现了前后端分离架构。它支持本地文件存储以及七牛云存储,同时集成了QQ、微信等第三方登录,并具备即时通讯聊天室的功能。 功能亮点: 采用前后端分离架构,运用前沿技术打造…

    2024 年 12 月 24 日
    51300

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信