网站动静加速架构 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难绷知识02——抽象类中只能有或者必须有抽象方法吗以及有关抽象类的细节探讨

    Java难绷知识02——抽象类中只能有或者必须有抽象方法吗以及有关抽象类的细节探讨 标题长的像轻小说 首先回答标题抛出的问题——False 显然,有抽象方法的类是抽象类,但是,抽象类中只能有或者必须有抽象方法吗? 抽象类可以包含抽象方法,也可以包含具体方法 如果一个类包含至少一个抽象方法,用abstract关键字修饰,那么这个类必须被声明为抽象类。 抽象类除…

    未分类 2024 年 12 月 31 日
    46100
  • Java技术全景——大数据在智能物流机器人路径优化与任务分配中的创新应用(188)

    🌟亲爱的技术同仁们,诚挚欢迎您访问【云端技术驿站】!在这个数字化浪潮席卷全球的时代,我们致力于打造一个融合创新技术与实践经验的交流平台。这里不仅有前沿的技术分享,更期待您带来独到的行业见解,让我们携手在科技创新的道路上共同成长!🌟全平台账号(微信公众号/CSDN/抖音/华为/支付宝/微博):云端技术驿站一、欢迎加入【技术精英联盟】快速通道1:云端技术精英社群…

    2025 年 5 月 19 日
    86900
  • 华为OD机试E卷 –字符串变换最小字符串 –24年OD统一考试(Java & JS & Python & C & C++)

    文章目录 题目描述 输入描述 输出描述 用例 题目解析 JS算法源码 java算法源码 python算法源码 c算法源码 c++算法源码 题目描述 给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。 变换规则:交换字符串中任意两个不同位置的字符。 输入描述 一串小写字母组成的字符串s 输出描述 按照要求进行变换得到的…

    未分类 2025 年 1 月 12 日
    52800
  • springboot~多节点应用里的雪花算法唯一性

    雪花算法的唯一性,在单个节点中是可以保证的,对应kubernetes中的应用,如果是横向扩展后,进行多副本的情况下,可能出现重复的ID,这需要我们按着pod_name进行一个workId的生成,我还是建议通过不引入第三方组件和网络请求的前提下解决这个问题,所以我修改了kubernetes的yaml文件。 k8s的yaml配置 apiVersion: apps…

    未分类 2024 年 12 月 31 日
    53200
  • Java刷题常见的集合类,各种函数的使用以及常见的类型转化等等

    目录 前言 集合类 ArrayList 1. 创建和初始化 ArrayList 2.添加元素 add 3.获取元素 get 4.删除元素 remove 5.检查元素 6.遍历 ArrayList LinkedList Stack 1. 创建Stack对象 2. 压入元素 (push) 3. 弹出元素 (pop) 4. 查看栈顶元素 (peek) 5. 检查栈…

    2025 年 1 月 5 日
    51100

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信