从CDN了解到的边缘计算与前端渲染

在这里插入图片描述

文章概叙

本文代码量较少,讲的是在云开发的基础上使用边缘计算的,代码量不高,​建议看完理解下就可以丢了,知道个概念就好。

废话1

第一次接触边缘计算是在2020年的时候,公司的cloud课程中,有一些相关概念的计算,不过那时候的重心不在云服务上,所以就没仔细看,最近看到一些云服务商的文章,觉得不错,所以就收集了一些资料,尽可能的整理成自己的东西~
文章中的模式图,来源是阿里云的开发者社区

CDN

在这里插入图片描述
全程是Content Delivery Network,也就是内容分发网络,重点在于分发两个字。

玩过LOL的朋友都知道,我们游戏里面有很多的区,比如现在的战争学院,以前的电六区,他的服务器在于广东东莞大朗(网上的资料…),当我们在广州打游戏的时候,网络就还勉强,没什么卡顿的,但是当我们在北方玩的时候,甚至开了加速器还没是有点卡顿,这是因为当服务器距离我们很远的时候,我们请求延时就会很高。

而当我们不想要使用分区的方式时,我们就可以使用CDN的方式,让服务器自动去分配一个服务器​。

CDN是指在现有互联网络中增加一层新的网络架构,其基本思路是尽可能避开互联网中可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输更快。

CDN加速可以实时根据网络流量和各节点的链接、负载状况以及用户距离和响应时间等信息将用户的请求重新导向到离用户最近的服务节点,降低网络的拥塞,提高内容传递的速度和效率,加快用户访问的响应速度。

为什么用CDN

在这里插入图片描述

正如上述所说,我们使用了CDN之后,我们就可以更快的找到适合我们的服务器,那么就可以加快网页的加载速度,如CDN的加速内容分发是基于服务器缓存的,相当于CDN中缓存了我们网页的一些图片,音频等文件,甚至是我们的HTML文件在内。无需通过服务器去渲染页面返回,所以我们经常将CDN与静态文件​联系在一起。

除此之外,使用CDN 还可以优化数据传输路径,可以收集节点的信息,比如服务器A的访问并发量是1000,而B服务器的访问并发量是10,那么CDN​就可以帮我们选择B服务器,以获得最快的访问速度。

且CDN加速不受运营商相互访问较慢的限制。依旧是LOL的例子,当我们使用了CDN 加速后,我们就可以在南方等电信较为普遍的地方访问网通的服务器(网通,我不是在说你慢…)

最最最主要一点,前端的不少网页是要看SEO的,而对于搜索引擎来说,使用了CDN的网站,是加载速度快、稳定安全的网站,正合他们的胃口​。

讲了那么多CDN的好处,是怕你面试时候人家问道你什么是CDN…你哑口无言…

SSR

SSR全称是 Server Side Rendering,​即我们所称的服务器端渲染。
现在的开发,NodeJs引领的全栈开发上,我们已经很习惯使用服务器端去渲染我们的页面了,由于前后端都是TypeScript,所以我们的代码是可以复用的,且对比SPA应用,我们的SEO是极度友好的,再在CDN以及后端渲染后返回HTML页面的条件下,大大的减少了白屏的时间。

CSR + CDN

在结合了CDN的SSR模式上,我们一般的做法是将页面的静态内容缓存在CDN节点上,让用户能快速的看到页面的部分内容,如我们打开美团等网页时候,我们会先看到页面的大概布局,但是下面的商家列表需要我们动态的去拉取,这就是我们常说的CSR—​Client Side Rendering

​模式图如下:

image.png​

该模式就是直接将页面的内容分来,并且静态页面存储在CDN上,作用是减少白屏时间,然后将动态内容使用Ajax去获取​,所以就是:CSR + CDN

ESI

后来的后来,我们多了一个云服务,当然,这个也是CDN服务商们提出的规范,毕竟赚钱是更新的动力…
ESI全称是Edge Side Include,即我们发起请求的时候,我们会将这个请求发送到第三方服务器上(CDN节点),可以理解为第三方的服务器,接着第三方会通过请求我们的服务,随机整合了我们的动态资源以及静态资源,接着直接返回到我们的​浏览器上。
使用ESI的好处,在于我们可以保证我们的动态内容不会很卡顿,但却严重加大了我们的白屏时间,所以这是一个比较"失败"的模式.

ESR

但是在云的基础上,我们还有一个边缘计算。​

边缘计算是将从终端采集到的数据,直接在靠近数据产生的本地设备或网络中激进型分析,无需再将数据传输至云端数据处理中心。
ESR全程是Edge side rendering,通俗解释来说,就是在SSR的基础上,我们将动态请求数据的操作,放在了我们的云上,而我们只需在我们的浏览器端发起一个请求。​

ESR是指借助边缘计算的能力,将静态内容与动态内容以流式的方式,先后返回给用户。cdn 节点相比于 server,距离用户更近,有着更短的网络延时。在 cdn 节点上,将可缓存的页面静态部分,先快速返回给用户,同时在 cdn 节点上发起动态部分内容请求,并将动态内容在静态部分的响应流后,继续返回给用户。​​

​模式图如下:

image.png

测试数据​

由于本人的阿里云服务器是公司的项目,无法将其贴出来(公司隐私问题)。​

故此,以下信息是阿里云上的数据,测试网站为​:​

https://edge-routine.m.alibaba.com/

​performance如下:
在这里插入图片描述

从效果上来说,我们在使用ESI的模式下,与我们现在最常用的SSR模式相比,我们的白屏时间获得了大大的缓解,且页面的最终渲染时间也能减少一点点(但是其他资源过多的时候除外)

废话2

当然,对于我们来说,ESR是不怎么推广的(钱…)

到那时了解下概念也不错…阿里云上有不少的文章不错,建议大家看看,或则有英文读写能力的,我也建议看看AWS上面的~

我也希望这篇文章能让你明白,我们的前端渲染,从以前的Jsp到现在的cloud,都是如何渲染的.
在这里插入图片描述

公众号文章—从CDN了解到的边缘计算与前端渲染

希望大佬们关注~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/648566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年第四届机器人与人工智能国际会议(JCRAI 2024) | Ei、Scopus双检索

会议简介 Brief Introduction 2024年第四届机器人与人工智能国际会议(JCRAI 2024) 会议时间:2024年8月9日-11日 召开地点:中国上海 大会官网:www.jcrai.org 人工智能和机器人技术在过去几十年里得到了长足的发展,为未来的机器人应…

php二次开发股票系统代码:腾讯股票数据接口地址、批量获取股票信息、转换为腾讯接口指定的股票格式

1、腾讯股票数据控制器 <?php namespace app\index\controller;use think\Model; use think\Db;const BASE_URL http://aaaaaa.aaaaa.com; //腾讯数据地址class TencentStocks extends Home { //里面具体的方法 }2、请求接口返回内容 function juhecurl($url, $params f…

力扣刷题 第十二 边权重均等查询

现有一棵由 n 个节点组成的无向树&#xff0c;节点按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges &#xff0c;其中 edges[i] [ui, vi, wi] 表示树中存在一条位于节点 ui 和节点 vi 之间、权重为 wi 的边。 另给你一个长度为 m 的二维整数数…

2024年华为OD机试真题-靠谱的车-Python-OD统一考试(C卷)

题目描述: 程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。 出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。 比如: 1. 23再多一块钱就变为25; 2. 39再多一块…

yum找不到 mysql-server

User sudo yum install mysql-server 已加载插件&#xff1a;fastestmirror Loading mirror speeds from cached hostfile base: mirrors.aliyun.comepel: mirror.01link.hkextras: mirrors.ustc.edu.cnupdates: mirrors.ustc.edu.cn 没有可用软件包 mysql-server。 错误&…

C++算法学习心得七.贪心算法(2)

1.跳跃游戏&#xff08;55题&#xff09; 题目描述&#xff1a; 给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4]输出: true解释: 我们…

【前端基础--4】

定位属性 position 可以将元素定位到你想要放到位置&#xff0c;使用方位值来进行移动(top,left,right,bottom)。 1.相对定位 position: relative; top: 20px; left: 20px; 以自身为定点进行移动&#xff0c;不会脱离文档流。 不会影响元素本身的性质&#xff1b;块级…

性能优化-OpenCL 介绍

「发表于知乎专栏《移动端算法优化》」 本文首先对 GPU 进行了概述&#xff0c;然后着重地对移动端的 GPU 进行了分析&#xff0c;随后我们又详细地介绍了 OpenCL 的背景知识和 OpenCL 的四大编程模型。希望能帮助大家更好地进行移动端高性能代码的开发。 &#x1f3ac;个人简介…

RisingWave 多流 Join 实现高效实时数据打宽

在公司业务场景中&#xff0c;通常需要使用流计算引擎从多个数据源获取数据、进行 ETL 操作&#xff0c;并将清洗后的数据导入到数据分析系统或数据湖中。由于最后产生出来的表是一张宽表&#xff0c;我们通常也称这个过程为“数据打宽“。 数据打宽在流处理系统中对应的操作便…

34.在排序数组中查找元素的第一个和最后一个位置(力扣LeetCode)

文章目录 34.在排序数组中查找元素的第一个和最后一个位置题目描述二分 34.在排序数组中查找元素的第一个和最后一个位置 题目描述 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组…

将小游戏打包成单一exe文件的原理及应用

哈喽大家好&#xff0c;我是咕噜美乐蒂&#xff0c;很高兴又见面啦&#xff01;本文将介绍将小游戏原版文件打包成单一exe文件的原理&#xff0c;并探讨了这种打包方式的优点和应用场景。通过对打包工具和编译器的介绍&#xff0c;解释了它们如何将游戏的所有相关文件合并到一个…

Fiddler 过滤地址设置及导出JMeter脚本插件原理

Fiddler 过滤地址设置 1、在fiddler右边工具栏中找到Filters过滤器->勾选&#xff1a;Use Filters->在hosts中选择过滤规则和要过滤的地址。 如下图&#xff1a; 2、点击【Actions】按钮&#xff0c;选择&#xff1a;Run Filterset now&#xff0c;就会立即生效&#x…

nginx限制ip访问

先看一下被禁止的效果 如何配置 禁止访问的话直接在location模块增加类似如下配置 deny all; 完整示例 location / {deny all;root html;index index.html index.htm;} 默认是allow all就是允许所有ip访问,如果只配置指定ip可以访问是无效的,还是所有的ip可以访问 无效示例…

Unity动画桢事件

1&#xff0c;使用原因 在新项目内部审核的时候&#xff0c;说什么动画节奏不匹配&#xff0c;所以决定用动画桢事件来处理技能释放。当释放技能的时候&#xff0c;先播放技能动画&#xff0c;然后再动画桢所在的时间戳执行技能的逻辑。 2&#xff0c;具体实现 1&#xff0c;…

v3+ECharts 地图实现多个自定义图片的图标

备注&#xff1a;地图json, 图标图片 准备替换下 <template><div ref"mapEcharts" class"map-echart"></div> </template><script setup langts> import * as echarts from echarts import mapcity from "/tool/map/m…

【SpringBoot篇】springboot的自动装配原理

文章目录 &#x1f3f3;️‍&#x1f308;什么是自动装配&#x1f339;SpringBoot的自动装配&#x1f354;具体操作 &#x1f3f3;️‍&#x1f308;什么是自动装配 自动装配&#xff08;Auto-Configuration&#xff09;是Spring Boot框架的一个核心特性之一&#xff0c;它通过…

走进课本中的知名景区,猿辅导带你“读课文 游中国”

课本里&#xff0c;你能“看见”的世界不止一面&#xff0c;一座山川&#xff0c;崇高肃穆下孕育出千年的文明&#xff1b;一座桥梁&#xff0c;连接起时间的变迁和技术的传承&#xff1b;一座古楼&#xff0c;飞檐斗拱间凝聚着中国文化的精髓。近日&#xff0c;猿辅导素养课宣…

2024年新提出的算法:一种新的基于数学的优化算法——牛顿-拉夫森优化算法|Newton-Raphson-based optimizer,NRBO

1、简介 开发了一种新的元启发式算法——Newton-Raphson-Based优化器&#xff08;NRBO&#xff09;。NRBO受到Newton-Raphson方法的启发&#xff0c;它使用两个规则&#xff1a;Newton-Raphson搜索规则&#xff08;NRSR&#xff09;和Trap Avoidance算子&#xff08;TAO&#…

光电耦合隔离器在医疗行业的应用全面分析

光电耦合隔离器作为一种关键的电子元件&#xff0c;在医疗行业中扮演着重要的角色。光电耦合隔离器通过将电信号转换为光信号&#xff0c;并在隔离通道中传输&#xff0c;能够有效地隔离输入和输出端&#xff0c;保证医疗设备在电气上的安全性。 光电耦合隔离器的医疗应用领域 …

简述云原生基础定义及关键技术

云原生是什么 云原生是面向“云”而设计的应用,因此技术部分依赖于传统云计算的 3 层概念,基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。 例如,敏捷的不可变基础设施交付类似于 IaaS,用来提供计算网络存储等基础资源,这些资源是可编程且不可变的,直…