网站动静加速架构 dcdn+ga 全站加速和全球加速api
背景:
1,公司服务全部在香港
2,所有的服务也都在香港
3,但是我们的客户都在国内
4,那么国内用户访问香港的服务 那么就会存在慢的问题
至于为什么不放到国内,因为我们公司是做nft的。所以你懂得。
一、加速
1.1 静态加速
1,顾名思义,就是静态文件的加速。比如html, js, css, img。等等。
2,这些静态资源的加速,用云厂商的cdn就可以解决。静态资源的加速。
1.2 动态加速
1,顾名思义,就是加速一些动态的数据,也就是我们所说的api接口的数据
2,但是api数据是实时的,不能先缓存啥的。
3,所以就只能加速api的访问速度
4,访问速度又受网络的影响,所以我们只需要加速网络
二、部署
1,我们选择了阿里云的全球加速产品(dcdn)
2,因为我们所有的资源都在阿里云
三、架构
用户:
来自全球各地的访问,其实国内的最多
3.1 第一步:dns
其实这块的dns阿里云有一个智能dns解析,这块也可以加速,在解析的速度
3.2 第二步:dcdn
1,dcdn可以理解为全球阿里云自己的上车入口
2,阿里云的dcdn全球有3200+的上车节点
3,因为有智能dns,所以会选择用户最近的dcdn节点上车
4,上车后,dcdn会根据算法计算出 最优的一条路线回源
5,这条网络线路,可能是阿里云内外网络,也可能是移动,电信,联通网络
6,就是寻找一条最快的网络,然后回源到GA上车点。
3.3 第三步:GA
1,dcdn后面是我们购买的全球加速GA
2,GA需要购买加速区域,我们购买了香港上车点,和北京上车点。
3,dcdn寻找到最优的路线回到GA
4,GA就是依托于阿里云自己强大的BGP网络有自有网络。
3.4 第四步:ALB
1,GA回源到了我们的ALB。
2,我们的ALB也是动态的,速度也会快很多
3,最开始我们选择了把waf加在了alb上面。但是后面我们有调整到了dcdn上面。
4,最开始waf在alb。然后大量的攻击 对dcdn产生了 很大的费用。
5,所以我们就直接在dcdn开启了waf功能,从源头就开始过滤攻击
6,效率更高了,更省钱了
3.5 第五步:后端服务器
1,最终会到我们自己的内网,服务器。
2,最终会返回数据。
四、总结
1,其实加速的架构有很多
2,看找到合适自己公司的业务的就行
3,最开始不知道咋 设计,也是一点一点的 实践出来的

网站动静加速架构 dcdn+ga 全站加速和全球加速api的更多相关文章
- 全站加速(DCDN)- IP应用加速产品解读
5月22日下午15点,阿里云全站加速(DCDN)-IP应用加速如期发布.IP应用加速是阿里云自主研发的一款更高效.更安全.更便捷的动态加速产品,结合阿里云CDN本身的资源优势,利用就近接入.智能路由, ...
- 网站集群架构(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken
前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高 ...
- CSS框架分析与网站的CSS架构
框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题,是一种可复用的构架. 我们对CSS框架这个词比较陌生,但对于JavaScript框架就比较熟悉了,比如jQuery 但为 ...
- CODING 研发管理系统上线全球加速,助力企业跨区域协作
CODING 研发管理系统现已全面支持全类型代码仓库的 全球加速访问. 随着国内互联网红利的日趋枯竭与全球互联网的加速普及.越来越多的企业开始走出国门,将目光投向全世界,搭建跨国体系.跨出国门的中国企 ...
- Mysql在大型网站的应用架构演变
原创文章,转载请注明: 转载自http://www.cnblogs.com/Creator/本文链接地址: Mysql在大型网站的应用架构演变 本文已经被多处转载,包括CSDN推荐以及码农周刊等等,阅 ...
- [css]【转载张鑫旭】我是如何对网站CSS进行架构的
一.写在前面的 都是自己积累形成的一些东西,可能带有明显的个人印记.不是专业内容,不是权威指南,只是展示一点自己的观点,借此希望能与各位优秀的同行交流看法,见解.以得到进步与提高. 二.我所知的一些过 ...
- 我是如何对网站CSS进行架构的
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=944 一.写在前面的 ...
- 转:Mysql在大型网站的应用架构演变
原文来自于:http://www.cnblogs.com/Creator/p/3776110.html 原创文章,转载请注明: 转载自http://www.cnblogs.com/Creator/本文 ...
- ASP.NET开发的大型网站有哪些架构方式
谈谈用ASP.NET开发的大型网站有哪些架构方式(成本) 在上篇文章里(http://www.cnblogs.com/ms0017/archive/2011/07/26/2117676.html),列 ...
- 大型B2C网站高性能可伸缩架构技术探秘
大型B2C网站高性能可伸缩架构技术探秘 2010-07-21 08:51 狂放不羁 JavaEye 字号:T | T 向您介绍大型B2C网站高性能的网站架构技术,包括缓存的使用.应用程序和数据库的拆分 ...
随机推荐
- Redis集群slot迁移改造实践
作者:来自 vivo 互联网存储团队- Xu Xingbao Redis 集群经常需要进行在线水平扩缩容,实际操作过程中发现迁移期间服务时延剧烈抖动,业务侧感知明显,为了应对以上问题对原生 Redis ...
- 知识增强深度学习及其应用:综述《Knowledge-augmented Deep Learning and Its Applications: A Survey》(下)
论文:Knowledge-augmented Deep Learning and Its Applications: A Survey GitHub: arXiv上的论文. (接着来) 4 用经验知识 ...
- vue-i18n 8.28.2(完成)
https://kazupon.github.io/vue-i18n/zh/introduction.html 开始 如果使用模块系统 (例如通过 vue-cli),则需要导入 Vue 和 VueI1 ...
- C++11新初始化方法 使用{}初始化变量
列表初始化 在C++11及以后的版本中,使用{}来初始化变量是一种新的初始化方法,称为列表初始化(List Initialization).这种初始化方法可以用来初始化内置类型.自定义类型以及聚合类型 ...
- Spring —— AOP总结
AOP 总结
- ++i与i++在效率上的细微差别
在一些特定的使用中, i++ 可能将原值用中间量存起来以待使用,下面看相关程序的汇编代码(使用 gcc ). i++ 源程序: #include <stdio.h> int main(){ ...
- [OI] Testlib
Testlib 是用于实现 SpecialJudge 的一种方式 为了使用 Testlib,你需要在你的文件中引用 Testlib.h testlib.h 下载 使用 Testlib 程序 以 Tes ...
- 模板声明的两种形式:template<int N> 和 template<N>
template<int N>:非类型模板参数 template<int N> 是一个典型的非类型模板参数的例子.这里的 N 是模板的参数,但它不是一个类型,而是一个具体的整数 ...
- 使用 vuex 和 本地存储实现永久性token存在 并且在请求拦截统一添加headers token 避免重复代码
在 vuex 仓库中设置state的token值:从本地中取值: 登录的时候调用唯一可以修改state数据的mutations方法设置token : export default new Vuex.S ...
- KubeKey 部署 K8s v1.28.8 实战
在某些生产环境下,我们仅需要一个原生的 K8s 集群,无需部署 KubeSphere 这样的图形化管理控制台.在我们已有的技术栈里,已经习惯了利用 KubeKey 部署 KubeSphere 和 K8 ...