关于又拍云:用户-IP里面藏了多少秘密

大家都晓得,要邮寄一封信给正确的收件人,须要提供精确而精密的地址,这个地址须要从国家和城市准确到邮政编码,街道和门牌号码。只有这样,邮局的工作人员能力晓得将信送到那里。 Internet 上也是如此,每个设施都须要一个惟一的“门牌号”能力与其余设施进行网络通信替换数据,这个“门牌号”就是 IP 地址。在设施建设连贯期间,IP 地址会被主动或手动地调配给联网设施,调配过程中 Internet 协定(IP)起着重要作用。 互联网协议地址(也被称为“IP 地址”或简称为“IP”)是互联网的根底。它基于 Internet 协定,是指外部或内部网络中的设施(例如计算机,Web 服务器或打印机等)的惟一可辨认地址。IP 地址能够指定整个设备组,也能够为一台计算机调配多个地址。同时网络中的每个 IP 地址在任何给定工夫只能应用一次。上面咱们来具体说说 IP 地址的运作原理。 IPv4、IPv6 及 IP 的类型IP 地址当初有两个版本,别离是 IPv4 和 IPv6。 IPv4 地址 大多数设施以后次要应用 Internet 协定版本 4(IPv4)的地址。它由 32 位二进制数组成,例如 11000000 10101000 10110010 00011111。为了使此数字好分辨,通常将这 32 位二进制数示意为四个十进制数字的组合,其值从 0 到 255,以点 . 分隔。例如:192.168.178.31。 IPv4 总共能够形成约 43 亿个不同的地址。对于晚期寰球互联网设施而言,因为所有设施不会同时应用,而某些设施也仅在专用网络中应用, IP 地址数目就显得很短缺。但当初越来越多的日常设施须要连贯到互联网,尤其是物联网(IoT)的呈现让很大一部分设施都须要有本人的 IP 地址,IPv4 地址数量曾经应用结束,并且无奈满足数量需要。 曾经到来的 IPv6 IPv6 的地址具备 128 位,因而必须写为 128 位的二进制数。因为这样的数字太长且不切实际,所以采纳十六进制表示法将 128 位压缩为 16 位的 8 个块,并用冒号 : 分隔。例如 0000:0000:0000:0000:0000:ffff:c0a8:b21f。字母 a 至 f 也用作十六进制数字。如果咱们在每个块的结尾省略零,并用两个冒号“:: ”替换一系列间断的 0000 块,则能够进一步简化格局。下面的例子能够简写为 :: FFFF:c0a8:b21f。 ...

May 26, 2021 · 2 min · jiezi

关于又拍云:Redis-存储对象信息是用-Hash-还是-String

Redis 外部应用一个 RedisObject 对象来示意所有的 key 和 value,RedisObject 中的 type,则是代表一个 value 对象具体是何种数据类型,它蕴含字符串(String)、链表(List)、哈希构造(Hash)、汇合(Set)、有序汇合(Sorted set)。 日常工作中咱们存储对象信息的时候,个别有两种做法,一种是用 Hash 存储,另一种是 String 存储。但如同并没有所谓的最佳实际,那么实际上到底用什么数据结构存储更好呢? 首先简略回顾下,Redis 的 Hash 和 String 构造。 StringString 数据结构是简略的 key-value 类型,value 其实不仅是 String,也能够是数字。Redis 中的 String 能够示意很多语义: 字符串(bits)整数浮点数这三种类型,Redis 会依据具体的场景实现主动转换,并且依据须要选取底层的承载形式。String 在Redis 外部存储默认就是一个字符串,被 RedisObject 所援用,当遇到 incr、decr 等操作时会转成数值型进行计算,此时 RedisObject 的 encoding 字段为int。 在存储过程中,咱们能够将用户信息应用 Json 序列化成字符串,而后将序列化后的字符串存入 Redis 进行缓存。 因为 Redis 的字符串是动静字符串,能够批改,内部结构相似于 Java 的 ArrayList,采纳预调配冗余空间的形式来缩小内存的频繁调配。如上图所示,外部为以后字符串理论调配的空间 capacity,个别高于理论字符串长度 len。 假如咱们要存储的构造是: { "name": "xiaowang", "age": "35"}如果此时将此用户信息的 name 改为“xiaoli”,再存到 Redis 中,Redis 是不须要重新分配空间的。而且咱们在读取和存储数据的时候只须要对做 Json 序列化与反序列化,比拟不便。 ...

May 20, 2021 · 2 min · jiezi

关于又拍云:云计算的背后到底是什么

对于中小型企业来说,为了业务倒退,公司外部的 IT 基础架构必须始终“跟上时代的潮流”,常常须要提供比以后所需资源更多的资源。因而一个性能齐备的数据中心对于大多数公司显得至关重要。然而建设本人的数据中心并雇用业余人员保护须要大量的老本,另外也难以按需缩放灵便调整,适应于这类需要,云计算应运而生。 借助云计算能够不必购买硬件服务器,通过 Internet 在云上间接应用应用服务,包含存储空间,解决能力,数据库和软件环境等等。 云计算的历史这类为用户提供更多解决能力和存储空间的联网计算机并不是一项新发明。1950 年代的计算机大型机就曾经朝着云计算迈出了第一步。那时,用户能够通过组织中的其余多个终端拜访大型机并应用其性能,只管过后的用户须要计算好工夫能力应用该大型机。 在随后的几十年中,虚拟化技术的呈现让计算机实例能够形象重建。随后这种虚拟环境可供所有网络用户应用,并在 1990 年代对更多的用户进行了商业销售。之后云的概念变得越来越风行,到 2000 年后,许多公司都开始逐步对云技术产生趣味。 现在大多数智能手机(或物联网)始终与云连贯,云计算不仅为公司带来了很多便捷,也成为许多人日常生活的一部分。那什么是云计算? 云计算是通过互联网提供的硬件和软件服务的统称,通常以大型数据中心或服务器集群为核心,将多台计算机或服务器的资源会集在一起,造成网格计算以实现高性能。它涵盖了从近程服务器提供的云存储空间到云中的基础架构各方面,通过与虚拟化联合,能够为网络中的单个用户创立单个虚构实例。尽管云计算蕴含的内容十分多,然而能不能被称之为云计算却是有明确规定的。 依据美国国家标准技术研究院的论文表述,服务必须满足以下特色能力被称为云计算: 按需自助服务:用户应始终能够独立申请所需的资源,而不用与服务提供商分割。宽泛的网络拜访:随时随地用任何网络设备拜访云计算。多人共享资源池:资源池化多个计算资源是云计算的根本要求。该资源池能够动态分配和重新分配资源,例如解决能力和存储,以满足多个用户的需要。疾速重新部署灵便度:资源交付必须疾速且基于需要。在某些状况下能够主动进行放大和放大,而无需客户或服务提供商的干涉。可掂量的服务:始终监控云服务的应用状态,为单方都减少了透明度。各种云计算类型在云服务日益增多的明天,市场上呈现了各种各样的云解决方案。除了提供的价格和反对外,这些计划的次要区别还在于所提供的层和部署模型。“层”是指服务的级别,而部署模型则决定了提供的服务类型。 服务级别 “层”是指对应的特定服务级别,个别通过各种“即服务”级别形容服务的范畴。因而,通常应用金字塔模型来出现它们。基础架构即服务具备最大的范畴,而软件即服务仅专一于特定的应用程序。 这些“即服务”的具体涵盖范畴如下: 基础架构即服务(IaaS):在此级别上,供应商提供残缺的硬件解决方案:计算能力,存储空间和网络。用户应用的实例齐全是虚构的,并划分了资源池。IaaS 能够用作其余层的根底,也能够作为独立产品提供。平台即服务(PaaS):提供不只是硬件的残缺的云环境。PaaS 次要针对软件开发人员。服务提供商在托管于硬件上的云中提供已建设的开发环境。因而,程序员能够节俭保护此类环境的工夫和费用。软件即服务(SaaS):为用户提供了软件解决方案。SaaS 次要面向典型的最终用户,他们不用放心装置和保护软件,并且能够释怀硬件足够弱小。所有即服务(XaaS):XaaS 能够归于不同的级别。因为除了下面提到的三层,是出于一些非凡起因(比方营销伎俩),个别提供商还提供额定服务 XaaS。这通常是出于一些非凡起因(比方营销伎俩)。实际上,XaaS 能够归于不同的级别。人即服务(HuaaS):是一种众包模式,一群人通过 Internet 进行工作。当然,咱们日常最所见的次要是 Iaas、PaaS 和 SaaS 这三种服务模型。 部署模型 部署模型形容了服务的类型,有以下四种: 公有云:服务器仅由一位客户应用。公有云能够是本地的(外部云)。即便应用了服务器集群的托管程序,其余应用该程序的客户也无法访问该专用硬件。私有云:私有云被认为是云计算的次要状态,其外围属性是共享资源服务,即大家一起共享服务器资源。作为用户,咱们无奈查看谁在应用服务器资源及更改。混合云:此模型是公有云和公共云的混合。这意味着用户能够确定将其操作的哪些局部设为公有(例如,平安方面)以及哪些局部放弃公开状态。社区云:社区云的性能相似于公有云,不同之处在于多个用户共享一个专用的硬件实例。然而,用户资源池不是随机的,通常是来自雷同业务畛域或具备类似趣味的客户被组合在一起。此外,社区云能够在公司外部或内部进行治理。与运行多个公有云相比,更能节俭资源。云计算的优缺点云计算的呈现为中小型企业对于自建 IT 基础架构老本过高的问题提供了解决方案。硬件的应用和保护由服务提供商接管,企业只须要投资价格便宜的终端拜访云计算服务即可。此外,业余的服务器集群比大多数组织本人治理的安全性要高得多,有专门的平安人员和服务器专家对数据中心进行物理层面的爱护。除此之外大多数云计算服务提供商都对所有数据进行强制备份,可能无效防止数据失落造成的隐患。 作为一个还算新兴的服务性能,云计算也有一些毛病。例如,依据服务提供商的不同,在配置方面的可定制性程度可能会有很大的差别,可能无奈满足特定企业的需要。同时,应用云服务会过分依赖提供商,一旦他们遇到技术问题,就会间接影响企业的业务经营。云计算的应用还依赖于弱小而稳固的互联网连贯,否则企业员工将无奈高效地工作。 除去以上的毛病,对云解决方案最大的关注是数据隐衷问题。只管云服务商能保障存储数据的平安,然而通过 Internet 传输数据始终会带来平安危险。 云计算毕竟不是收费的,企业必须认真思考所需的资源容量应用工夫,从而最大可能地节省成本。在这方面,又拍云以场景化 CDN 为外围业务,为客户提供云存储、云解决、云平安、流量营销等云服务,帮忙用户实现内容散发减速、产品研发减速、业务成长减速,而且按需计费,领有 WebP、H.265、码率适配限速等多种老本管制相干的性能,帮忙企业节俭收入。 举荐浏览辞别DNS劫持,一文读懂DoH 【文言科普】聊聊 DNS 的那些小常识

May 19, 2021 · 1 min · jiezi

关于又拍云:白话科普上网时遇到的-404-是什么意思

随着网络时代的倒退与提高,咱们的学习工作和生存早已离不开互联网,智能家居、网上购物、日常出行都须要互联网的反对。互联网切切实实地给生存带来了诸多便当。 那大家有没有碰到过这么一个状况呢?当咱们在应用手机或者电脑浏览一些信息的时候,或者在搜索引擎中搜寻材料,点击搜寻后果跳转后,浏览器跳出一个 404 Not Found 的空白页。 置信各位老网民都很相熟“404”这个数字了,这个错误代码代表着服务器未找到文件,通常出拜访的页面曾经被更改或者移除,或是输出了谬误的拜访地址谬误。 那为什么用 404 而不是其余的数字来代表拜访资源不存在呢?互联网上对 404 的诞生有这么一个“传说”。据传在第三次科技反动前,整个互联网的状态就像是一个大型的地方数据库,并设置在一个叫 404 的房间里。那个时候,所有的互联网拜访申请都由人工手动实现,若在 404 房间中没有找到请求者所须要的文件,或是因为请求者写错了文件编号,工作人员就会返回一个“Room 404 : File Not Found”的信息。 当然,经理论考据后发现传说中的 Room 404 其实并不存在,而 404 的真正起源则要从互联网之本 -HTTP 协定说起。 状态码的由来家喻户晓,互联网的建设突破了地区限度,通过浏览器与服务器之间的交换让咱们足不出户知天下。而浏览器与服务器之间的交换则是通过 HTTP 协定。 HTTP(Hypertext Transfer Protocol),超文本传输协定,它是应用层协定。因为其简捷、疾速的形式,实用于分布式和单干式超媒体信息系统。自 1990 年起利用于万维网(WWW)寰球信息服务零碎。 用户上网的过程,就是浏览器通过 HTTP 协定向服务端发送申请,而后将服务端主机上的内容显示到本地。 撑持着 HTTP 协定工作的是 TCP/IP 协定这个典范打工人,它负责了底层的数据传输工作。单从这一点上来看,所谓的“超文本传输协定”其实和传输没什么分割,有点徒有虚名。那为什么 HTTP 还被称为传输协定呢?答案就是它是传输报文内容的。 HTTP 协定在标准文档里具体定义了报文的格局,规定了组成部分,解析规定,还有解决策略,所以能够在 TCP/IP 层之上实现除了数据传输外,更灵便丰盛的性能。 TCP 的协定报文,在理论要传输的数据之前附加了一个 20 字节的头部数据,存储 TCP 协定必须的额定信息,例如发送方的端口号、接管方的端口号、包序号、标记位等等。有了这个附加的 TCP 头,数据包才可能正确传输,到了目的地后把头部去掉,就能够拿到真正的数据。 HTTP 协定也须要在理论传输的数据前附加这类头数据,不过与 TCP 不同的是,它是一个“纯文本”的协定,头数据都是 ASCII 码的文本,能够很容易地用肉眼浏览,不必借助程序解析也可能看懂。 HTTP 协定的申请报文和响应报文的构造基本相同,次要由三大部分组成: ...

May 13, 2021 · 2 min · jiezi

关于又拍云:5招减少网站恶意文件上传

在网络上进行分享的时候有一个操作必定是无奈防止的,那就是“文件上传”。咱们常常发微博、发微信朋友圈等等,发送过程就用到了文件上传中的图片上传性能。将本地图片、视频、音频等文件上传到程序服务器上,再供其余用户浏览或下载。这就造成网站每天都会有大量数据的流入,海量数据带来用户的同时,也带来了一些平安问题。 而网站的开发者在网站存储空间中,常常会发现各类 xml、html、apk 等垃圾文件,这些文件或是注入广告,或者散播涉黄视频等资源,重大影响网站业务的经营。这些垃圾文件都是通过文件上传性能上传到网站存储空间的。如果网站上传程序没有对用户提交的数据进行测验或严格过滤,服务器就很容易被上传批改过的数据。 文件上传是数据安全中最容易被利用的一个环节,要缩小歹意文件上传打搅,咱们首先须要弄清楚它的原理。 文件类型和文件扩展名的作用计算机的数据内容个别寄存在例如硬盘等等这类存储硬件上。因为硬盘自身空间微小,就像一个大仓库,为了不便数据存储以及治理,咱们发明了文件的概念,也就是操作系统用文件的格局来封装存储于空间中的一段数据。 然而随着互联网的倒退,从最开始的纯文本文件,倒退到明天各个类型的多媒体文件,如图像、音频、视频等等,咱们存储的文件越来越多,品种也越来越丰盛,文件体积也越来越大,如果不对这些文件进行辨别,查找起来极为麻烦。所以文件格式(或文件类型)也就应运而生。每一类文件,都能以一种或多种文件格式保留在电脑存储中。每一种文件格式通常会有一种或多种扩展名能够用来辨认,扩展名能够帮忙用户和应用程序辨认的文件格式。 例如,有一个文件被命名为 README.txt ,.txt 就是这个文件的扩展名,而 txt 实用于纯文本文件。这类文件可能是一份文件内容为纯文本的阐明文档。 除此之外,扩展名还能够帮忙操作系统判断以何种形式读取文件。例如 score.doc 这个文件,doc 文件能够用 Word 关上,那么 Windows 用户在双击一个 .doc 文件后, Windows 零碎会依据文件扩展名“doc”,在自保护数据库表中查找“能够关上这个扩展名文件的程序”,如 Word 程序,之后零碎会主动启动 Word 程序,并告诉 Word 去加载这个文件。 从这里能够看出,Windows 零碎在关上一个文件的时候,只须要文件名中的扩展名就能够找到对应的程序。所以,扭转一个文件的扩展名,也会更改这个文件在零碎中的默认打开方式。而且如果文件自身内容不合乎程序对文件内容格局的预期,则关上会出错,或者呈现意料之外的后果。 浏览器如何辨认关上文件因为互联网工具性能的逐步欠缺,相比在本地关上文件,应用浏览器关上文件的几率也逐步增多了。那么,浏览器是如何确认拜访的资源是什么文件类型的呢?其实是通过响应头来判断的。 当用户输出 URL 后,资源所在服务器会进行响应,并给出 Content-Type 响应头,其值就是文件对应的类型(MIME 类型)。如果浏览器反对该格局,则浏览器会尝试渲染显示对应文件。 与 Windows 零碎中相比,浏览器通常应用 MIME 类型,而不是文件扩展名来解决 URL。因而在响应头中增加正确的 MIME 类型就显得十分重要,如果配置不正确,浏览器可能会误解文件内容,下载的文件也会被错误处理,进而影响网站的失常运作。 歹意文件是如何上传的最开始咱们提到一些歹意资源会通过上传文件的形式上传,这些歹意资源的文件格式明明是失常格局,然而关上后却会呈现跳转网页等非凡拜访成果。这是怎么做到的呢? 其实原理很简略,就是通过批改 MIME 类型作出的操作。比方上图的 test.jpg 图片。尽管 URL 链接的资源后缀是 jpg,然而实在的资源的文件类型是 text/html ,也就是网页类型。 而这种网页类型的文件反对 JS 代码地嵌入,并能够通过这些代码让关上文件的用户跳转到指定网站。只管这个景象看起来和 DNS 劫持有些类似,然而其实是不同的。对于 DNS 劫持的问题,大家能够查看【文言科普】聊聊 DNS 的那些小常识》理解更多。 ...

May 12, 2021 · 1 min · jiezi

关于又拍云:白话科普网站图片不显示背后的原因你都清楚吗

浏览网页的时候,什么才是最重要的?是充斥信息的文字么?没想到吧,是我图片哒!在这个快节奏的时代里,图片才是碎片化工夫中最容易传递信息的存在。因而在网页中,图片是不可或缺的存在。然而常常有敌人反馈,关上网页的时候不显示图片,这是为什么呢?是什么起因导致了图片无奈加载呢? 图片不显示的常见起因网速问题 如果关上网页的时候无奈关上图片,首先应该查看的就是网速问题,如果网速太慢或某张图片提及过大,就会呈现图片加载失败的状况。 查看办法:网速过慢本人可有间接感觉,如关上百度、新浪之类的网站都比较慢,能够的话,能够间接百度搜“网速测试”进行间接在线测试本人的网速。 Flash Player 问题 有的时候关上网站后,图片会显示须要 Flash Player,遇到这种提醒后,咱们能够点击控制面板,双击 Flash Player 选项,电脑桌面显示出了 Flash Player 设置管理器,而后抉择高级,点击立刻测试。咱们点击浏览器右上角的工具。抉择治理加载项,启用 shockwave flash object,而后点击确定。 Internet 选项设置不当 当浏览器过滤了图片,或者将咱们所拜访的网站增加到受限站点,也可能导致图片无奈显示。咱们能够点击浏览器工具,点击 Internet 选项,针对第一种状况,咱们抉择高级抉择,点击显示图片,最初抉择利用,在从新拜访网站就能够了。如果是后一种状况,咱们能够抉择平安选项,点击受限站点,删除受限站点的列表中咱们所拜访的网站,最初抉择下利用就好了。 除去从新刷新拜访外,咱们也能够用浏览器自带的抓包工具来看下拜访成果,能够在页面按 F12 或者在页面上右键点“查看”,就能够看到开发者工具的内容。 之后关上 Network 面板,该面板记录页面上每个网络操作的相干信息,包含具体的耗时数据、HTTP 申请与响应标头和 Cookie。 点击资源名称,能够查看与资源无关的更多信息。 可用标签会因您所抉择资源类型的不同而不同,但上面四个标签最常见: Headers:与资源关联的 HTTP 标头。Headers 标签能够显示资源的申请地址、HTTP 办法以及响应状态代码。此外,该标签还会列出 HTTP 响应和申请标头、它们的指以及任何查问字符串参数。Preview : JSON、图像和文本资源的预览。 Preview 标签会显示该资源的预览信息,也可能不显示,具体取决于您所抉择资源的类型。Respones : 显示资源未格式化的 HTTP 响应内容(如果存在)。Timing : 资源申请生命周期的精密合成。 能够在控制台看下图片响应的状态以及响应的工夫来判断不显示的起因,以便于更快的解决问题。 当然也有一些比拟非凡的起因,比方当初十分风行的 WebP 格局的图片,因为不是所有浏览器反对,有时候也会呈现图片不显示的状况,上面咱们来细看下。 浏览器不反对WebP 为了缩小互联网上图片的发送工夫和流量耗费,当初很多网站都抉择了 WebP 格局的图片。WebP 汇合了多种图片文件格式的特点。它像 JEPG 一样适宜压缩照片和其余细节丰盛的图片,像 GIF 一样能够显示动静图片,像 PNG 一样反对通明图像。同时 WebP 在性能上也比其余格局的图片更强劲,依据 Google 的测试,WebP 无损压缩图片比 PNG 图片少了45%的文件体积。 ...

April 29, 2021 · 1 min · jiezi

关于又拍云:你已经用上-5G-网络了吗

随着各大手机厂商陆续推出 5G 手机,智能手机全面迎来 5G 浪潮。可能有人会提问:如此推崇 5G,5G 能为咱们带来什么,咱们的生存又会因而而扭转多大呢? 什么是 5G?简略地说,5G 就是第五代通信技术。次要特点是波长为毫米级,高带宽,超高速度,超低延时,其峰值实践传输速度可达 20 Gbps,合 2.5 GB 每秒,比 4G 网络的传输速度快 10 倍以上。实践来说,一部 1G 的电影可在 4 秒之内下载实现。 5G 时代又被称为“物联网时代”、“万物互联时代”。而所谓物联网,则是将任何物体与网络相连,实现物体间的信息替换。 打个比方,挪动通信零碎相似高速公路,而生存中的媒体和物体都是车。从 2G 时代开始,这条高速公路就一直拓宽,可能承载的媒体和物体越来越多、运行的速度越来越快。而到了 5G,这条高速公路曾经能够承载简直所有的媒体和物体并将它们相连,最重要的是,畅通无阻,能够让人类体验到前所未有的“快”感!这就是 5G 与物联网的特点,也是万物互联的外围。 说起 5G ,它的倒退是绕不开的话题。首先咱们先来明确下从 1G 到 5G 的改革。 1G 实现了模仿语音通信,大哥大没有屏幕只能打电话;2G 实现了语音通信数字化,性能机有了小屏幕能够发短信了;3G 实现了语音以外图片等的多媒体通信,屏幕变大能够看图片了;4G 实现了局域高速上网,大屏智能机能够看短视频了,但在城市信号好,老家信号差。1G ~ 4G 都是着眼于人与人之间更方便快捷的通信,5G 将实现随时、随地、万物互联,让人类敢于期待与地球上的万物通过直播的形式无时差同步参加其中。应用 5G 须要哪些条件呢?随着 5G 技术地使用,在我国抢占数字经济高点发明了许多机会。它被广泛应用到泛滥畛域,包含云、人工智能、大数据等。在咱们的生存上 5G 也带来了以下改革: - 5G 可能实现高速度、低提早的流式传送,边下载边运行:看视频、拖进度条不须要缓冲;下载电影、游戏根本秒速;在线游戏不卡顿、VR(虚拟现实)游戏更遍及;而且还能看到简直所有 Live 直播,甚至能够通过 VR 领有最前排视角。有网好谈话,网快你就是老大! - 5G 也是很多黑科技的敲门砖,比方全息通信:早在去年 9 月,流动通信网络公司“沃达丰”就实现了英国首个 5G 全息视频通话。英格兰女足队长 Steph Houghton 在曼城与纽伯里 11 岁的小球迷胜利连线,并“现场”领导球技。 ...

April 27, 2021 · 1 min · jiezi

关于又拍云:聊聊风口上的-eBPF

eBPF 是一个用于拜访 Linux 内核服务和硬件的新技术,因为其灵活性和高性能等特点,被迅速用于网络、出错、跟踪以及防火墙等多场景。目前国内已有多数企业开始尝试将 eBPF 引入生产实践,又拍云也是其中一个。专为技术开发者提供常识分享的 Open Talk 公开课邀请了又拍云开发工程师周晨约直播分享 eBPF 的学习教训与开发心得,并对其分享内容进行整顿,下拉至文末点击浏览原文可回看原视频。 大家好,明天分享的主题是《eBPF 探索之旅》,围绕三局部开展: eBPF 是什么eBPF 能做什么如何编写 eBPF 程序意识 eBPFeBPF 是什么,从字面上来看是扩大伯克利包处理器,那伯克利包处理器是什么呢? 在此之前先来理解一个性能优良的罕用抓包工具:tcpdump tcpdump 图中展现了两个罕用指令 指令一:指定 IP 和端口,能够抓到 IP 为 220.173.103.227,端口为 80 的包 指令二:加上 grep,能够过滤出带有 route 字段的数据 那么 tcpdump 又是如何做到通过用户提供的规定解决网络上收到的包,再 copy 给用户的呢?如果放在用户层,就须要在零碎里所有 socket 读写的时候做一层解决,把规定放上去,这样做难度太大。而 tcpdump 是基于 libpcap 库实现的,libpcap 能做到在驱动将包交给内核网络时,把包取过去,通过用户传给 libpcap 的规定将须要的网络包 copy 一份给用户,再把包传给内核网络栈,而之所以 libpcap 能做到这点全靠 BPF。 BPF BPF 是基于寄存器虚拟机实现的,反对 jit,比基于栈实现的性能高很多。它能载入用户态代码并且在内核环境下运行,内核提供 BPF 相干的接口,用户能够将代码编译成字节码,通过 BPF 接口加载到 BPF 虚拟机中,当然用户代码跑在内核环境中是有危险的,如有处理不当,可能会导致内核解体。因而在用户代码跑在内核环境之前,内核会先做一层严格的测验,确保没问题才会被胜利加载到内核环境中。 ...

January 6, 2021 · 3 min · jiezi

关于又拍云:聊聊-HTTP-常见的请求方式

在互联网曾经浸透了生产、生存各个角落的明天,人们能够登录微信语音聊天,能够顺手“扫”到各种性能的二维码,能够通过方便快捷的无人超市购物……这种互联网畛域的跨越式倒退,不仅满足了人们生存中各种各样的需要,也催生了一个个新兴畛域的诞生,为经济增长注入了强劲能源。 上网的过程,其实是浏览器向服务端发送申请,之后将服务端主机上的内容显示到本地的一个流程。而浏览器与服务器之间的申请走的就是 HTTP 协定。 自 1990 年以来,超文本传输协定(HTTP) 就成为了互联网数据通信的根底,它是分布式合作超媒体信息系统的应用层协定,是一种通用的无状态协定。具体来讲就是让服务器不保留与客户交易时的任何状态,由客户端单方面向服务器发送申请数据。 HTTP 次要有 0.9、1.0、1.1、2.0 版本,其中 1.1 版本定义了 9 种 Method(办法),别离是: 这些办法中,最常见的便是 GET 和 POST,然而可能很少有人关注两者都有什么作用,咱们一起来看一看吧。 GET vs POST MethodGET 和 POST 都是 HTTP 协定的一种申请规范,同样基于 TCP 传输层协定。两者次要区别在存放数据的形式不同,进而造成的传输量、安全性等差别。 GET 咱们先来看一下 GET 是怎么传送信息的: <form method="get" action=""><input type="text" name="id" /><input type="submit" /></form>如上实现代码点击“提交”之后,浏览器的网址就会变成 http://www.a.com/a.html?id=11111,浏览器会主动将表单内容转为 Query String 加在 URL 前面进行申请。这样,从浏览器的网址里就能够看见表单要传送的材料。 POST 接下来咱们看看 POST 的传送: <form method="post" action=""><input type="text" name="id" /><input type="submit" /></form>提交之后,地址并无变动,然而通过查看 HTTP Request 的内容能够发现,POST 是将表单材料放在 Message Body 进行传送。 看不太懂代码的小伙伴也不要焦急,咱们以现实生活中寄信的机制来举例。如果说信封的撰写格局是 HTTP,咱们能够将信封外的内容称为 Http-Header,信封内的书信称为 Message Body。 HTTP Method 就是你要通知邮差的寄信规定。 ...

December 23, 2020 · 1 min · jiezi

关于又拍云:云原生网络代理MOSN的进化之路

本文系云原生利用最佳实际杭州站流动演讲稿整顿。杭州站流动邀请了 Apache APISIX 我的项目 VP 温铭、又拍云平台开发部高级工程师莫红波、蚂蚁金服技术专家王发康、有赞中间件开发工程师张超,分享云原生落地利用的教训心得,以下是王发康《云原生网络代理(MOSN)的进化之路》分享内容。 王发康(毅松), 蚂蚁金服可信原生技术部技术专家,专一于高性能网络服务器研发,MOSN、Tengine 开源我的项目核 心成员,目前关注云原生 ServiceMesh、Nginx、Istio等相干畛域。 明天次要分享 MOSN 在蚂蚁金服的 Service Mesh 大规模落地后,通过对接 UDPA 打造为 Istio 的数据面之一,其在演进过程中遇到的问题及思考,我从以下三方面开展: MOSN 介绍云原生演进总结与瞻望MOSN 介绍我先从 MOSN 的诞生背景、MOSN 在蚂蚁团体的倒退历程、MOSN 的架构解析和落地状况等维度向大家介绍 MOSN。 MOSN 诞生背景 说到 Service Mesh 为什么会呈现,咱们须要先回顾服务演进历程,大体经验如下阶段: 单体服务:晚期网站小、流量少,业务简略,可在同一个服务中实现所有部署; 分布式:当用户达到肯定规模且日益增长,须要进行服务拆分; 微服务:随着服务数量的继续减少,呈现了服务治理的需要,如限流、鉴权、熔断等,于是一些治理组件便被以 SDK 插件的模式集成到不同的利用中; Service Mesh:因为服务治理的 SDK 多语言、中间件组件开发适配老本高,以及其自身较弱的服务治理能力,开始尝试将 SDK 和业务剥离,解耦出一个独自的 Sidecar,从而解决多语言开发、业务迭代等难题。 总的来看,业务侧有如下痛点: 多语言,中间件组件开发适配老本高SDK 降级艰难服务治理能力弱技术不通用,无奈复用现有业界计划: Envoy (C++)Linkerd (活跃度较低)NginxMesh (活跃度低)基于上述业务的痛点以及对业界相应的解决方案评估过后,最终咱们决定自主研发 MOSN。MOSN(ModularOpen Smart Network) 是用 GoLang 语言开发的网络代理软件,作为云原生的网络数据立体,旨在为服务提供多协定、模块化、智能化、平安的代理能力。 MOSN 倒退历程 MOSN 从 2017 年 12 月开始 Service Mesh 技术调研,到产品孵化,历经重重困难,最终通过 2019 年双 11 规模化验证,实现蚂蚁团体外围领取链路笼罩。MOSN 在外部落地后,咱们认为借力开源也要反哺开源,因而着手进行 CloudNative 生态交融,和业界多种开源规范组件联结走标准化路线,从而实现共享并最大化的开释其技术红利。 ...

December 17, 2020 · 3 min · jiezi

关于又拍云:服务器标配-SSH-协议你了解多少

年初,新冠肺炎疫情的呈现,全国数千万名员工在家近程办公,应用集体设施通过家庭网络拜访公司材料。因而,IT 平安团队面临了泛滥新挑战:如何施行更加平安的身份验证计划,以确保只有受权人员和设施能力拜访公司敏感资产? 不少小伙伴想起了 SSH,其实大家对它都比拟相熟。大到虚拟机、服务器,小到手机、家电,Linux 设施遍及越来越广,SSH 的使用也越来越宽泛。不仅攻城狮、程序猿离不开它,普通用户也根本都在应用。SSH 能够说是各服务器的标配,有了 SSH,咱们不用每次都要蹲到机房里连贯服务器配置服务器,间接近程就能够操作,同样,有了 SSH,也能解决近程办公的一些安全性问题。 上面咱们就来具体理解一下 SSH 的传奇故事。 什么是 SSHSSH(Secure Shell)是一种加密的网络传输协定,它容许用户通过 Internet 管制和批改近程服务器。该协定的呈现代替了未加密的登录协定(例如 telnet/rlogin)和不平安的文件传输办法(例如 FTP),并应用了加密技术来确保与近程服务器之间的所有通信都以加密的形式进行。它提供了一种机制,用于验证近程用户,将输出从客户端传输到服务器,以及将输入中继回客户端。 SSH 提供了弱小的加密和完整性爱护。在客户端和服务器之间建设连贯后,SSH 将依据设置中协商的参数对传输的数据进行加密。在协商过程中,客户端和服务器依据应用的对称加密算法达成统一,并生成将要应用的加密密钥。通信单方之间的通信受到行业标准的强加密算法(例如 AES(高级加密规范))的爱护,并且 SSH 协定还包含一种机制,该机制通过应用规范哈希算法(例如 SHA)来确保传输数据的完整性。 SSH 除了提供弱小的加密性能外,网络管理员还宽泛应用 SSH 近程管理系统和应用程序,交付软件补丁或执行命令并挪动文件。 SSH 协定如何工作任何 Linux 或 macOS 用户都能够间接从终端窗口通过 SSH 进入其余近程服务器。而 Windows 用户能够利用 Xshell、Putty 之类的 SSH 客户端。进入之后就能够与间接操作近程计算机雷同的形式执行 Shell 命令。 SSH 默认在 TCP 端口 22 上运行(能够依据需要批改)。服务器在 22 端口上监听传入的连贯。如果验证胜利,它将对客户端进行身份验证并关上正确的通道来进行平安连贯。客户端必须通过与服务器启动 TCP 握手,确保安全的对称连贯,验证服务器显示的身份是否与以前的记录(通常记录在 RSA 密钥存储文件中)匹配,并提供所需的用户凭据来开始 SSH 连贯。 服务器(主机)身份验证 SSH 协定内置于 Unix 和 Linux 服务器中,以实现零碎之间的平安连贯。该连贯由申请连贯到 SSH 服务器的客户端建设。SSH 客户端启动连贯建设过程,并应用公共密钥加密技术来验证 SSH 服务器的身份。在设置阶段之后,SSH 协定应用弱小的对称加密和哈希算法来确保客户端和服务器之间替换数据的私密性和完整性。 ...

December 16, 2020 · 1 min · jiezi

关于又拍云:白话科普系列网站靠什么提升加载速度

随着生活节奏的一直放慢,工夫变得极其贵重,期待页面加载的工夫也随之缩短。这样一来如何留住客户变成了一项重要的考验。而缩小页面加载等待时间,放慢加载速度,就成了进步用户参与度S,晋升业务可靠性的无效策略。 依据 Google 的一项钻研,有 40% 的人放弃了某网站,是因为该网站的加载工夫超过 3 秒,而页面加载工夫减少1 秒,转化就相应缩小了 7%。可见,互联网中的每一秒都至关重要。 那么如何晋升网站速度呢?能够通过网页“压缩”也就缩小网页体积来实现。至于要如何能力压缩网站,咱们须要先理解两个算法, Gzip 和 Brotli 压缩算法。 Gzip 压缩算法Gzip 基于 DEFLATE 算法,它是 LZ77 和霍夫曼编码的组合,最早用于 UNIX 零碎的文件压缩。HTTP 协定上的 Gzip 编码是一种用来改良 Web 应用程序性能的技术,它要求 Web 服务器和客户端(浏览器)必须独特反对 Gzip。而当下支流的浏览器,包含 IE6、IE7、IE8、IE9、FireFox、Google Chrome、Opera 等都曾经开始反对 Gzip 压缩。可见 Gzip 的应用曾经成为了互联网倒退的必然趋势。 作为 Internet 上应用十分广泛的一种数据压缩格局,Gzip 对个别纯文本内容可压缩到原大小的 40%,这大大减少了网站文件中反复代码和空白的数量。它还能够提供 9 个压缩级别,能够不便使用者微调压缩量和压缩工夫。 在用于进步 Web 应用程序的性能这一点上,Gzip 压缩始终是最受欢迎的。直到另一种压缩算法 Brotli 的呈现,它成为了 Gzip 最大的竞争对手。 Brotli 压缩算法Brotli 是 Google 在 2015 年 9 月推出的一种压缩算法,Google 认为互联网用户的工夫是贵重的,他们的工夫不应该耗费在漫长的网页加载中,因而与其余压缩算法相比,Brotli 有着更高的压缩效率。它通过变种的 LZ77 算法、Huffman 编码以及二阶文本建模等形式进行数据压缩。 ...

December 9, 2020 · 2 min · jiezi

关于又拍云:统一接入层架构的演进

本文系云原生利用最佳实际杭州站流动演讲稿整顿。杭州站流动邀请了 Apache APISIX 我的项目 VP 温铭、又拍云平台开发部高级工程师莫红波、蚂蚁金服技术专家王发康、有赞中间件开发工程师张超,分享云原生落地利用的教训心得,以下是张超《有赞对立接入层架构演进》分享内容。 张超,有赞中间件团队开发工程师,网关、Service Mesh 畛域的专家,热衷技术,对 Golang、Nginx、Ruby 语言等有深刻的钻研。 大家好,我是来自有赞的张超,有赞中间件团队的开发工程师。明天给大家带来有赞接入层架构演进的分享。 先简略给大家介绍下有赞接入层,外部名为 YZ7,从概念来讲它与网关比拟靠近,是基于 OpenResty 和 Nginx 来实现的,次要是有规范 C 模块,自研发的 Nginx C 模块,以及基于 lua 实现的模块。它作为有赞业务流量的公网入口,提供 Traffic Shaping,包含限流、平安相干的像 WAF、申请路由等性能,申请路由蕴含规范的蓝绿公布、灰色公布性能,负载平衡等方面的性能。明天的分享,次要是从上面从三个方面来深刻解析: 旧版接入层架构痛点新架构设计剖析新架构设计总结旧版接入层架构痛点首先从旧版接入层架构的相干痛点登程,开始新架构的设计剖析。 上图是旧版接入层架构的纵向切面,计划是早几年之前的。过后风行用 redis 做配置同步,它人造的主从同步协定的确非常适合。其中黄色箭头线是配置同步,数据从 redis master 同步到每个实例上的 redis slave,而后本级的 YZ7 会去轮巡本级的 redis,并把数据读到本身内存中。 为什么有右下方的 k8ssync controller 呢?因为前几年 K8S 逐步的成为热门,很多利用都开始走向容器化的路线。 YZ7 是基于 OpenResty 来开发的,整个技术栈都是基于 lua,在 K8S 的生态里 lua 并不在其中。如果想要 watch K8S 外面的服务,须要实时晓得它有哪些 endpoints。尽管通过 lua 也能够实现,然而须要重头做一个相似像 K8S 规范的 client-go 库,这就得失相当了。因而会利用一个应用 GoLang 编写的 k8sssync controller,它负责向 K8S 获取它所感兴趣的后端服务 endpoints 数据,再通过 YZ7 配置的 API,再次写入到 redis master,最初由 redis master 散发到每个 YZ7 的实例上。 ...

November 25, 2020 · 3 min · jiezi

关于又拍云:这些表情包你有吗来-Battle-啊

“能用表情包解决的问题,绝不多说一个字。” “当不晓得回复什么的时候,甩过来一个表情包就好了。” 放眼望去,谁的 QQ/微信 珍藏中没有几页代表性的表情包,那真的是 out 了。在当代网络社交生活中,当呈现“只可意会不可言传”的情绪和外延时,表情包大略是最合适的载体。 常见的表情包有动态图片和动静图片两种。 动态图片最常见的格局是 jpg/png,动静图片则是 gif。在平时工作生存中,不仅仅表情包,图片在网页设计中也是重中之重。 常见的三种图片格式图片格式品种繁多,咱们日常应用最多的图片文件格式是 jpg、png 和 gif。这些格局因为与目前浏览器的兼容性,客户端的网络速度以及用户的广泛需要而成为最受欢迎的格局。 在理解这三种格局的图片之前,咱们须要先理解一个概念,就是图片压缩。 有损 vs 无损 图片文件格式有可能会对图片的文件大小进行不同水平的压缩,图片的压缩分为有损压缩和无损压缩两种。 有损压缩:指在压缩文件大小的过程中,损失了一部分图片的信息,也即升高了图片的品质,并且这种损失是不可逆的,咱们不可能从有一个有损压缩过的图片中复原出原来的图片。无损压缩:只在压缩文件大小的过程中,图片的品质没有任何损耗。咱们任何时候都能够从无损压缩过的图片中复原出原来的信息。在理解这个简略的状况后,咱们具体来看看这三种图片格式的区别和特点。 JPEG 格局 JPEG(Joint Photographic Experts Group)即联结图像专家组,是用于间断色调动态图像压缩的一种规范,文件后缀名为 .jpg 或 .jpeg,是最罕用的图像文件格式。 JPEG 图片格式的设计指标,是在不影响人类可分辨的图片品质的前提下,尽可能的压缩文件大小。这意味着 JPEG 去掉了一部分图片的原始信息,也就是进行了有损压缩。JPEG 的图片的长处,是采纳了间接色,得益于更丰盛的色调,JPEG 非常适合用来存储照片,用来表白更活泼的图像成果,比方色彩突变。 然而,JPEG 不适宜用来存储企业 Logo、线框类的图。因为有损压缩会导致图片含糊,而间接色的选用,又会导致图片文件体积更大。 PNG 格局 PNG(Portable Network Graphics)即便携式网络图形,是一种采纳无损压缩算法的位图格局,文件后缀名为 .png。PNG 应用从 LZ77 派生的无损数据压缩算法,个别利用于 JAVA 程序、网页中,它的压缩比高,生成文件体积小。 PNG 格局是咱们在数字设计我的项目中最常应用的格局。PNG 通常具备比其余格局更大的文件大小,然而它保留了硬性边缘成果,且能够解决大量色彩。另外 PNG 有个比拟乏味的个性,那就是反对通明背景,这也是大多数网站将 Logo 创立为 PNG 格局的次要起因。 GIF 格局 GIF(Graphics Interchange Format)即图像调换格局,是在 1987 年由 Compu Serve 公司为了填补跨平台图像格式的空白而倒退起来的。家喻户晓,它最大的特点就是“能动”。因而,GIF 通常用于从图像文件创立动画。通过在压缩中合并无损品质,能够无损传输和存储这些文件,并且对图像库的存储影响较小。 ...

November 18, 2020 · 1 min · jiezi

关于又拍云:实战分享从选型到项目落地漫谈-gRPC

什么是 gRPC?gRPC 的几种常见模式 在学习 gRPC 的时候,置信大家对于它的四种模式都有理解,咱们来简略回顾一下: 简略模式(Simple RPC):这种模式最为传统,即客户端发动一次申请,服务端响应一个数据,这和大家平时相熟的 RPC 没有什么大的区别,所以不再具体介绍。服务端数据流模式(Server-side streaming RPC):这种模式是客户端发动一次申请,服务端返回一段间断的数据流。典型的例子是客户端向服务端发送一个股票代码,服务端就把该股票的实时数据源源不断的返回给客户端。如果是应用咱们容器云性能的同学应该会发现,咱们的容器实时日志流就是应用了这个典型模式。客户端数据流模式(Client-side streaming RPC):与服务端数据流模式相同,这次是客户端源源不断地向服务端发送数据流,而在发送完结后,由服务端返回一个响应。典型的例子是物联网终端向服务器报送数据。双向数据流模式(Bidirectional streaming RPC):顾名思义,这是客户端和服务端都能够向对方发送数据流,这个时候单方的数据能够同时相互发送,也就是能够实现实时交互。典型的例子是聊天机器人。接下来咱们通过一个小例子来看看 gRPC 具体的应用流程。 假如咱们有一个聊天机器人,现须要减少一个对外提供服务的接口。具体需要为,接口传入参数是一个人名,返回一段内容是“Hello 人名”的音频。如果这个是让你在不应用 gRPC 的状况下,你会怎么做?大家可能会抉择应用 restful api 来实现这个性能,传入人名,返回音频二进制数据。 那么如果应用 gRPC,咱们须要怎么来设计呢? 第一步,须要定义一个接口文档,也就是 proto 文件。在定义内会定义一个 Service,接下来再在 Service 里定义一个 SayHello 的办法。上面定义传入参数,输出 name 返回 message,须要留神 message 是 bytes 类型,即返回的格局是二进制数据。对于 Golang 底层对应的是一个 bytes 数据,对于其余语言可能是字节流或二进制。 syntax = "proto3";package helloworld;// The greeting service definition.service Greeter {// Sends a greetingrpc SayHello (HelloRequest) returns (HelloReply) {}}// The request message containing the user's name.message HelloRequest {string name = 1;}// The response message containing the greetingsmessage HelloReply {bytes message = 1;定义实现后 ,下一步就是应用 protoc 命令行工具生成代码。下图左侧是初始化的我的项目,你会发现,有一个独自的目录 protoc,寄存了 hello.proto 这个文件,这个文件就是后面定义好的。 ...

November 12, 2020 · 2 min · jiezi

关于又拍云:白话科普系列最好用的浏览器-Chrome你用了么

市面上的浏览器多种多样,而浏览器的王者——IE 浏览器,它在 2002 年市场份额高达 95.4%。直到后续 Firefox,Safari,Chrome 相继问世才波动了 IE 浏览器的位置,其中 Chrome 在 2008 年一经问世便体现出了不凡的天才,一路乘风破浪所向无敌。 最近,国外统计公司 Statcounter 颁布了寰球浏览器市场份额考察数据。 从下面两张图中能够看出,无论是挪动端还是桌面端,谷歌 Chrome 浏览器都名列第一,大幅当先其余品牌。 为何 Chrome 浏览器会有如此高的市场占比,咱们一起来看下 Chrome 浏览器都有哪些长处。 Chrome 浏览器的长处界面简洁 浏览器的实质是一个展现网络资源的工具,一个简洁的界面会让用户更加专一于内容,而不被浏览器的外观所烦扰。毫无疑问,Chome 在这一点上就战胜了不少对手。 整合了 Google 服务 Chrome 作为 Google 公司开发的浏览器,必定会给本人的产品打打广告,然而 Google 的产品的确品质过硬,咱们能够在 Chrome 上体验到很多优质的 Google 产品,比方在线文档表格编辑器、网页的主动翻译、Gmail 的离线版与桌面揭示等。 弱小的开发者控制台 Chrome 具备功能强大的开发者控制台,能够监控网络带宽,查看源代码并抉择色彩以在线调整设计,还能够进行前端的断点调试。正是因为这弱小的开发者控制台,Chrome 受到了许多开发者的青眼。 丰盛的扩大程序 Chrome 具备大量扩大性能,从简略的广告拦挡到各种小工具的自定义扩大,一应俱全,能够加强浏览器的性能以满足非凡需要。其中大部分的扩大程序都能够在 Chrome 网上利用商店上找到。还能够雇用开发人员来构建本人的应用程序,以改善我的项目的工作流程。 这里简略介绍一个拓展程序:Adblock Plus,常常应用 Chrome 浏览器的小伙伴应该对这个扩大程序十分相熟。 这是一款收费的广告拦截器,性能十分弱小。上面咱们来测试看看。 首先咱们不关上这个插件随便拜访一个网站,能够看到单顶部地位就有3个广告。 此时咱们关上插件再次拜访,很显著的,广告就隐没了,而且右侧的滚动广告栏中也变成了空白,界面一下清新了许多。 Adblock Plus 插件还能够自行设置网站白名单,即对某些网站不做屏蔽广告操作。也能够自行添加或移除过滤列表等。 ...

November 11, 2020 · 1 min · jiezi

关于又拍云:白话科普系列双十一竟然是一场有预谋的DDoS攻击

随著互联网与信息技术的倒退,所有人都在享受互联网带来的舒服和便当。现在,无论是集体社交行为,还是商业活动都早已离不开互联网。 然而,网络空间在发明时机的同时,也带来了威逼。随着企业价值、知名度的进步、官方网站、线上交易平台、使用者登入页面皆为攻击者之首选指标,而最常见的攻打手法就是 DDoS 。DDoS 攻打让许多厂商与企业感到大刀阔斧的同时,还蒙受了微小的损失。而且通过这些年的倒退,DDoS 攻打手法还变得越来越多元且难以防备,它曾经成为不同组织和集体的攻打模式之一,用于网络中的勒索、报复,甚至网络和平。 本篇文章就带大家认识一下常见的 DDoS 攻打手法,以及遇到攻打后要如何进行进攻应变。 什么是 DDoS 攻打?DDoS 攻打全名为 Distributed Denial-of-Service Attack,又称为分布式拒绝服务攻打,是旧时 DoS 攻打(Denial-of-Service Attack,拒绝服务攻打)的扩充版,其目标是以各种攻打手法,让网络系统的性能瘫痪或资源耗尽,迫使网页或服务器中断服务,导致失常的用户无奈应用网页性能和应用服务。 晚期的电脑不如今日发达,只有攻打方电脑性能高于被攻打方,一对一的 DoS 攻打很容易达到目标。现如今很多大型企业具备较强的服务提供能力,所以应酬单个申请的攻打曾经不是问题。 既然一打一行不通了,那就群殴。攻击者会组织很多同伙,同时提出服务申请,直到服务无法访问,这也就是名称中“分布式”的由来。然而,在事实中,个别的攻击者无奈组织各地搭档协同“作战”,所以会应用“僵尸网络”来管制泛滥计算机进行攻打。 僵尸网络感化了恶意软件的计算机,以及其它可联网资源,例如 IoT 设施。这些僵尸主机接管攻击者管制命令,从而构建出一只数量宏大的僵尸主机(Bot)军队,同工夫对同一指标动员特定类型攻打,将被攻击者的网络资源及系统资源耗尽,导致无奈为真正的用户提供服务。这也是名称中“阻止服务”的由来。 因为僵尸主机的数量很大而且散布宽泛,又都是非法的网络设备,因而很难将攻打流量与失常流量离开,其危害水平和进攻难度都很大。 上图是每年双十一淘宝服务器瘫痪的新闻。泛滥用户应用服务造成的流量洪峰,某种角度来说等同于一次大型的 DDoS 攻打。 如何辨认 DDoS 攻打DDoS 攻打最显著的特色就是站点或服务忽然变慢或不可用。然而,理论业务中,因为多种起因(如业务流量的正当激增,例如游戏文件更新)也会造成相似的性能问题,因而通常须要进一步确认。以下是 DDoS 攻打的一些显著迹象: 来自单个 IP 地址或 IP 范畴的可疑拜访;对单个页面或接口的申请数量激增;不寻常的流量模式,例如一天中在凌晨忽然呈现流量顶峰,或某种不合乎业务的流量顶峰(例如,每 10 分钟呈现一次顶峰)DDoS 攻打还有其它更具体的迹象,具体取决于攻打的类型。 DDoS 的攻击方式带宽消耗型攻打 通过传送大量有效、或歹意放大流量的数据申请,梗塞被攻打的服务器带宽,使其达到饱和状态,让失常用户无奈进入,甚至造成网页宕机瘫痪,达到拒绝服务的目标。 像是常见的 UDP 洪水攻打(即发送用户数据报协定的大包或小包)、ICMP 洪水攻打(即发送大量 ICMP 相干报文);生成超过 IP 协定中规定的最大的数据长度,导致系统宕机的死亡之 Ping,皆属于此类。 资源消耗型攻打 有别于带宽消耗型的 DDoS 攻打,资源消耗型攻打是让被攻打方的服务器一直进行重复的有效运作,导致网页资源被耗尽,无奈再响应失常用户的申请,从而达到拒绝服务的目标。 这种类型的典型 DDoS 攻打手法,如 SYN 洪水攻打。咱们都晓得创立 TCP 连贯须要客户端与服务器进行三次交互,也就是常说的“三次握手”。而这个信息通常被保留在服务器连贯表构造中,然而表的大小无限,当超过存储量时,服务器就无奈创立新的 TCP 连贯。 ...

November 11, 2020 · 1 min · jiezi

关于又拍云:白话科普10s-了解-API

作为一名又拍云的技术支持工程师,小拍每天都会接管到很多客户的发问。这其中,有很多客户会问:“小拍,请问云存储上传除了应用控制台的文件治理和 FTP 工具之外,有没有其余的路径进行上传呢?” “有哒,您能够调用 API 接口来进行上传哦。” “请问,什么是 API 接口呢?我要怎么调用呢?” 别着急,这就为您介绍 API 接口。 什么是 API 接口首先,咱们先来看一看 API 接口的定义: API(Application Programming Interface,应用程序编程接口)是一些事后定义的函数,目标是提供应用程序与开发人员基于某软件或硬件得以拜访一组例程的能力,而又无需拜访源码,或了解外部工作机制的细节。 从定义中,咱们先划下重点:函数、 提供应用程序与开发人员、无需拜访源码、例程 。其中,例程是某个零碎对外提供的性能接口或服务的汇合。 看完这个定义是不是感觉本人看了个寂寞,这解释跟不解释没有差异啊?好啦,不要放心,小拍来给大家直接了当的说一说。 API 其实能够了解为是接管要求的信差,通过 API 接口,咱们通知零碎(例程)想要做什么,零碎再把处理结果响应回来。 如果用一个现实生活中的场景来举例说明,那么餐厅的服务员其实就是一个典型的 API 。设想一下你正坐在餐桌前,背后桌子上有一张点菜用的菜单,点好菜后,交由厨房进行解决。但当初少了一个要害的链接点,如何把咱们的单子送到厨房,再把食物送到我的桌上呢? 这就是服务员(API)退场的时候了。服务员就是这个信差,他会传递你的要求或者餐点,把这些信息通知厨房(零碎),厨房就会晓得怎么做,而后把餐品通过服务员端(响应)给你。 当初咱们把这个原理利用到真正的 API 例子上来。 快递单号查问,这大家应该很相熟吧。敌人通过顺丰寄了一箱零食给你,并告知你了快递单号,你就能够在顺丰的官网上,输出快递单号进行查问。顺丰的零碎接管到查问,就会在零碎中查找对应快递的信息,响应给你。 然而,很多时候咱们并不是间接通过快递公司的网站去查问快递信息的。比方说通过淘宝买的衣服,卖家通过顺丰发货,但咱们能够在淘宝上查问到顺丰快递的信息。那么淘宝是怎么获取到寄存在顺丰服务器上的快递数据呢? 没错,这里就是应用了 API 。淘宝能够通过顺丰提供的 API 接口,来获取寄存在顺丰服务器上的快递信息,最初显示在咱们背后。 当初再看上边的定义,是不是感觉好了解一些了呢?API 接口就是事后定义好的函数逻辑,提供给其余零碎申请,而后返回后果的一个货色。 为什么要应用 API 接口在晓得了 API 接口的作用后,应用 API 接口的起因也就高深莫测了。举个例子:你打算开发一个打车软件,须要在页面上展示地图,那你会怎么做呢? 如果说本人来开发地图,开发工夫就会大大缩短,老本也会减少许多。这个时候,其实能够在高德开放平台或者百度地图的开放平台,找到地图 API,购买他们的服务,部署调用相干的 API ,这样就能够疾速在咱们软件中上线地图功能了。 所以,对于软件提供商来说,凋谢 API 并让别的应用程序来调用,造成生态,软件能力施展最大的价值,能力更有生命力,同时他人也看不见代码,不会挫伤商业秘密。 对于利用开发者来说,有了凋谢的 API ,就能够间接调用多家公司做好的性能来做本人的利用,不须要所有的事件都本人操刀,节俭精力。 如何应用 API 接口当初市面上凋谢的 API 接口,个别都是通过 HTTP 申请调用的。例如,一些第三方提供的查问天气的性能,咱们就能够依据第三方提供的 API 地址以及相干的阐明文档,携带上申请参数,在浏览器中间接拜访应用。 ...

November 4, 2020 · 2 min · jiezi

关于又拍云:网页内容无法访问可能是跨域错误

5G 时代的宣传热气腾腾,万物互联的生存沉迷到方方面面,网络资源的拜访成了人们生存中不可或缺的存在。拜访应用的多了也常常会遇到无法访问的状况,这个时候关上 Console 往往会看到上面这种红艳艳一片。 红艳艳的报错信息多种多样。然而图上这个谬误置信大家必定常常见到,其实这就是在开发过程中常常遇到的跨域谬误。那跨域报错到底是怎么产生的呢?又要怎么解决呢? 什么是 CORSCORS,即 Cross-Origin Resource Sharing (跨源资源共享)。当一个资源从与该资源自身所在服务器不同的域、协定或端口申请一个资源时,就会发动一个跨域申请。比方, http://domain-a.com 的 HTML 页面通过 <img> 的 src 申请 http://domain-b.com/image.jpg。因为域名不同,就会触发跨域。这是因为浏览器的同源策略造成,当然,这也是为了避免一些 XSS、CSRF 攻打。目前的许多 HTML 页面都会加载来自不同域下的 CSS 样式表,图像和脚本等资源。因而,解决跨域问题显得尤为重要。 CSRF 攻打: Cross-site request forgery, 跨站申请伪造。是指黑客诱惑用户关上黑客的网站,在黑客的网站中,利用用户的登录状态发动跨站请 CORS 是当初使用率较高的一种网络浏览器技术规范,它为 Web 服务器定义了一种形式,容许网页从不同的域拜访其资源。跨源资源共享规范通过新增一系列 HTTP 头,让服务器能申明那些起源能够通过浏览器拜访该服务器上的资源。此时须要在 Response Header 中减少跨域相干配置,这样就能够使得资源的平安拜访成为可能。 另外,对于那些可能对服务器数据产生副作用的 HTTP 申请办法(除 GET/POST/HEAD 办法),浏览器必须首先通过 OPTIONS 办法发动一个预检申请(preflight),从而获知服务端是否容许该跨域申请。服务器确认容许后,才会发动理论的 HTTP 申请。 # curl -X OPTIONS http://v0.api.upyun.com -v* Trying 58.222.18.54:80...* Connected to v0.api.upyun.com (58.222.18.54) port 80 (#0)> OPTIONS / HTTP/1.1> Host: v0.api.upyun.com> User-Agent: curl/7.72.0> Accept: */*> < HTTP/1.1 200 OK< Server: marco/2.13< Date: Thu, 17 Sep 2020 05:59:03 GMT< Content-Type: application/octet-stream< Transfer-Encoding: chunked< Connection: keep-alive< Access-Control-Allow-Origin: *< Access-Control-Allow-Headers: Authorization, Content-Secret, Content-Length, Content-Type, Content-Md5, X-Date, X-Requested-With, Origin … ...< Access-Control-Allow-Methods: PUT, GET, POST, HEAD, OPTIONS, DELETE< Access-Control-Expose-Headers: X-Upyun-Multi-Uuid, X-Upyun-Remain-Size, X-Upyun-Next-Part-Id, X-Upyun-Next-Part-Size< * Connection #0 to host v0.api.upyun.com left intacAccess-Control-Allow-Origin:容许的域Access-Control-Allow-Methods:容许的跨域的申请办法Access-Control-Allow-Headers:在响应预检申请的时候应用,用来指明在理论的申请中,能够应用哪些自定义 HTTP 申请头Access-Control-Expose-Headers:设置浏览器容许拜访的服务器的头信息的白名单Access-Control-Max-Age:这次预申请的后果的有效期是多久,单位为秒如何配置 CORS目前所有的支流浏览器都已根本提供对跨域资源共享的反对,挪动浏览器也简直全副反对,当然咱们的老朋友 IE 浏览器有一点特殊要求,不能低于 IE10。 ...

October 14, 2020 · 2 min · jiezi

关于又拍云:秋天的第一份干货-I-Referer-防盗链为什么少了个字母-R

Referer 为什么叫 Referer?它代表什么意思?在诸多防盗链竞争中它有什么劣势? 明天,在聊 Referer 防盗链之前,先来聊聊咱们在现实生活中经常碰到的推荐人(Referrer)信息。 咱们在购买服务或退出会员时,有些会问你:“你从哪里晓得了咱们?” Referrer 和 Referer下面所说的就是所谓的推荐人(Referrer)信息。 对于公司来说,这是很有用的信息,企业依据这些信息,能够剖析理解到数据由来,以此来调整推广渠道。 大部分用户可能都不会间接拜访到某个生疏的网站,个别是通过关键字搜寻再进去。那么能够去哪里查找到相干信息,服务器也想晓得你的“推荐人”是谁?所以 HTTP 协定在申请头(Request-Header)里设计了 Referer 字段,来给出 “推荐人” 的 URL 地址。 Referer 是一个可选申请头,用于标识起源地址(URL) 来理解拜访从何而来。Referer 正确拼写应该是「Referrer」,只是在写入规范时,人们没有发现短少一个 ‘r’ 字符,前面想改曾经来不及。所以就一误再误,就始终沿用到明天。 Referer 头因为能够指明起源地址,所以人们能够依据这些数据进行剖析。比方,对于营销,市场,推广人员来说,通过 Referer 字段,能理解拜访都是通过哪些搜索引擎“推荐人”引流而来,以此根据,对各大搜索引擎进行广告投放。 浏览器在拜访资源时,会依据不同的场景,来带上不同的 Referer 参数值来进行申请,所以咱们能够依据信息对申请进行过滤判断——Referer 防盗链, 设定对应规定,让合乎援用规定地址能够拜访,不合乎规定通过 403 进行权限管制。 Referer 防盗链实用小技巧在又拍云,咱们能够依据 Referer 黑白名单,是否容许 Referer 为空等配置规定对拜访进行权限配置。 如果只想指定网页内(*upyun.com)援用资源,其它域名回绝盗链拜访。可设置 Referer 白名单并且不容许 Referer 为空拜访形式(当 Referer 不能为空时示意,回绝浏览器间接指定 URL 资源,必须通过 Referer 头援用进行拜访,不然也会被限度拜访),以防止其余域名进行资源盗链。 在此,咱们应用 HTTP 客户端命令行工具 HTTPie[https://httpie.org/](工具反对语言高亮,能够更加清晰表明拜访形式) 来进行测试。 当未指定 Referer 值, Referer 为空时,无奈通过 Referer 访问控制,拜访响应 403 回绝拜访。 ...

September 29, 2020 · 1 min · jiezi

关于又拍云:荔枝微课基础架构的演进与实践

本文整顿自又拍云举办的微服务架构设计与实际|Open Talk 线上公开课,荔枝微课基础架构负责人王诚强做的题为《荔枝微课基础架构的演进与实际 》 的分享。本次流动还邀请了Apache APISIX 和又拍云等企业的技术专家分享 API、Service Mesh 等相干实战经验。 近几年,云原生技术和理念失去宽泛承受,泛滥企业开始摸索云原生架构转型落地。本文将会具体讲述荔枝微课是如何做云原生下的微服务基础架构设计。 王诚强,荔枝微课基础架构负责人。次要从事根底技术钻研开发、基于云原生的基础架构设计以及基础架构团队的治理建设。致力于云原生理念下,以微服务搭建中台。 云原生:将来架构的演变方向云原生(Cloud Native)是将来架构的演变方向,蕴含了一组利用模式,用于帮忙企业疾速、继续、牢靠、规模化地交付业务软件,由微服务架构、DevOps 和以容器为代表的麻利基础架构组成,其中蕴含很多有利于咱们做更多扩大继续演进的理念。我认为云原生是一种文化、一种理念, 也是一种生态,既包含技术(微服务、麻利基础设施 K8S),也包含治理(DevOps、继续交付), 范畴极其宽泛,总得来讲是一种围绕云计算时代的架构。 虽说呈现得绝对比晚期的 Spring Cloud 要晚一些,但也是十分先进的,像谷歌最晚期奉献进去的 K8S,之后各大公司也都是在这个开源我的项目上一直去迭代更新,因而它的生态很欠缺。下图中残缺的展现了云原生的整个生态,包含了很多不同的环节,比方数据库,还有音讯流,网关、服务网格等等,这里就不再一一列举了,大家有趣味能够去深刻理解。 云原生的演进历程 2001 年虚拟机进入到了一个可商用的阶段, 2013 年 Docker 公布后会发现很多开源我的项目、集体开发者都开始用 Docker 去公布本人的利用;2015 年 CNCF(云原生计算基金会)成立,2018 年 Kubernetes 从 CNCF 毕业,到了 2019 年咱们会发现它已是大家时常议论的热点。云原生开始大热,因为它曾经造成了一个比拟成熟的体系,各大云厂商也开始把本人的云服务、容器服务等开始推向市场,这时大家也不必从零开始自建,这也通知咱们要去把握技术倒退的趋势,懂得借势,而不是什么都是从零开始。 荔枝微课架构的演进历程荔枝微课架构的演进历程,这里将它分为了五个阶段,如下图所示,咱们具体开展来说。 上古期间:单体架构,业务优先 所谓的上古期间能够了解成公司的开创期间,这时优先以业务为主,如果连业务都没起来又谈何去做更多的技术倒退,这个阶段可能应用单体架构更容易做到迭代。不过它的长处是业务起步快,一个人人多势众就能够把整个我的项目给建起来了,可能就那么一两个服务,它的部署保护也要简略很多,目标就是先把业务做起来。 单体架构的毛病也很显著,一个单体我的项目性能太多,新人就不易上手,我的项目越做越简单,耦合度越来越高,会给前期新进人员带来很多难题,咱们私下称之为“死伤”,不利于扩大新性能。其中最麻烦的是前面的新人要去接手并发展新性能,如果代码品质有问题,可能一个部分 BUG 就会影响到整体。而且有很多曾经实现的性能,会重复使用到新的业务中,比方领取、账号等这些同样的性能,难道又要从新做一遍吗? 不过上古期间的整体架构也不肯定只有一个服务器、一个服务,也是有一些伸缩性的。上图中的Users、Threads、Posts 形成了整个单体构造的利用,它是可复制的,比方在负载平衡上面挂多个。另外它是无状态的,所谓无状态是指不会因为多一台服务伸缩进去而导致服务不可用,其中须要特地留神的是一些须要设置白名单的,比方 IP 白名单,多一台机器,可能 IP 就对不上了,会导致其余的环节报错。不过这能够通过一些软件设计的办法,比方代理、生产生产这种模式去解决。 初期:初步微服务,解耦化 初期阶段单体构造会变得越来越简单,保护起来也会越来越难。设想一下,一个零碎外面可能有几十甚至上百个不同的模块,不同的文件夹,一个新人看完这些代码都须要花很多的工夫,又谈何理解整体并做保护呢?甚至整个要跑起来所要理解的常识也很多。因而前面就须要会做解耦化,也就是咱们所说的初步微服务化。不过初期还是由业务来推动的,这个时候的指标还是拓展不同的我的项目,解耦的话也不会一步就到容器化。该阶段须要先对服务做松耦合,不便新人进来后去保护代码,另外就是做很多像监控这类兜底的能力。 说到服务做松耦合(解耦),因为晚期没有很好的兼顾,很多利用是解耦了,但它的技术栈多而杂,甚至连部署形式也都不一样,如果是原来保护我的项目的开发人员走了,由你来接手,它的语言、框架、部署形式都不同,保护工作会很难进行。拆分后也会面临到服务关系问题,服务少的时候还能明确服务之间的调用关系,当服务多了后,调用关系就会比拟乱,特地是为了不便调用,疾速上线将配置跟代码混合一起的状况,这样拆分后反而会带来更多麻烦。因而上古期间以业务为主,须要掂量一下是否拆分,业务有没有这个需要,不能因为做拆分而影响业务,另一个是如果人员不够也不适宜去做拆分,保护起来会更麻烦。 整体式架构拆分如上图所示,这里写到是 Container Ports,与以前相比更理想化了一些,须要先进行容器化,拆分之后将 Users 服务、Threads 服务、Posts 服务别离对应不同的 API 入口,别离去扩大会更利于去保护。比方负责 Posts 开发的,就只需专一于这一块。 ...

September 16, 2020 · 1 min · jiezi

关于又拍云:如何制作出让女朋友满意的大片

还在被女朋友厌弃摄影技术吗?还在困惑怎么能力拍出让人称心的大片么?你须要这篇文章 自从上次二狗子把美美的向日葵照片发给美美的女神婷婷之后,婷婷始终对二狗子颇有好感,毕竟嘴上对本人好的人很多,然而像二狗子口头派的人却不多。二狗子也察觉到了婷婷不经意间流露出的好感,为了能和婷婷有进一步的倒退,也为了有更多话题,二狗子钻研起了摄影摄像的一些常识。 八月了,杭州的梅雨季曾经过了,蓝天白云,美景良辰,二狗子想抓住机会邀请婷婷去西湖玩耍。没有一技之长傍身怎么敢邀请女神出游呢?二狗子为此做了短缺的筹备,“如何制作出让女朋友称心的大片?”。 Excuse me?女朋友? “好吧,当前会是的!”二狗子心想,二狗子一边想着,一边开始钻研起了相干常识。 通过几天的潜心研究,二狗子总结出了一套为女神拍摄大片的完满教程: 后期构图切换到视频模式后不要急着开始拍,这是导致画面难看的一大起因。要不就是角度没选好,要不就是画面凌乱主体不突出。所以要慢慢来,先思考主体物是什么,要从什么角度拍它,要把它居于画面的什么地位,而后再按下录像键开始拍摄。 找出难看的角度抉择难看的角度,能够充沛展示场景的漂亮和人物的身材。角度选好后,会把一些不称心的小毛病奇妙地覆盖过来。抉择角度不能刻意,感觉看着难受就能够了,这样拍出的视频更天然。 光线暖暖的光线会给人一种亲和感和舒适感,同时也能够将人物或者风物的不足之处,因为光线亮堂的缘故被美妙掉。光线也能够提亮整个场景的明艳度,显得更加阳光踊跃。另外也不要让画面太暗或太亮,这两种状况都会令人看不清画面的细节。 手要稳这对于拍视频来说尤为重要。如果拿手机的手在抖,拍进去的画面就晃来晃去,让人看着好受。一旦画面安稳,你的作品就离怀才不遇更近一步了。能够给手找个支撑物固定一下,如果身边没有适合的撑持,能够张开双腿站稳,将手臂贴在胸前,这样比手全往外伸出去要稳固许多。 教程曾经get,二狗子战战兢兢地去邀请婷婷,原以为婷婷会犹豫或者回绝。出其不意,女神婷婷痛快地许可了邀约。二狗子跃跃欲试,蠢蠢欲动,一边查找哪里风光更柔美,一边想着当天要配什么衣服、发型才够帅。 不过邻近邀约的前一天,他忽然想到了一个问题: “万一拍视频的时候太紧张手一抖,或者角度没选好,把 1 米 7 的婷婷拍成了 1 米 5 怎么办?必定要解决一下能力发给婷婷呀。” “视频解决,emmm … ”,二狗子眼前一亮,之前应用了又拍云的图片解决,那视频解决必定也有的呀。他关上了又拍云的产品文档,找到了“云解决”。 “音视频解决,Perfect!又拍云几乎是哆啦 A 梦的百宝箱,要什么它都有。转码、加水印、剪辑、截图 … 妈妈再也不必放心我解决视频啦!” 理解视频的一些概念二狗子首先点开了“视频转码”的性能,发现转码的罕用参数里包含了很多参数,每个字都意识,合到一起就看不懂了。只有个别参数有所耳闻,“看来解决视频之前还须要学习一下视频的一些概念,奇怪的常识又要减少啦!” 视频码率(比特率) 视频码率是指数据传输时单位工夫内传送的数据位数。个别咱们用的单位是 kbps ,即千位每秒。艰深一点的了解就是取样率,单位工夫内取样率越大,精度就越高,解决进去的文件就越靠近原始文件。 视频码率是掂量视频文件大小的要害指标。码率大小和视频品质成正比,高码率能够进步视频品质,而低码率会导致视频品质较差。然而,码率超过肯定数值,对图像的品质没有多大影响,应用极高的比特率只会节约带宽。 码率的根本算法是:码率(kbps)=文件大小(KB)*8/工夫(秒) 举例: 例如视频文件的容量为 3.446 G,视频长度 100 分钟(6000 秒),计算结果为:码率约等于 4818 kbps(3.446*1024*1024*8/6000=4817.857)。 视频分辨率 平时咱们观看视频,常常会依据本人的网络状况来调整视频的晦涩度,个别视频平台都会有“晦涩(SD)”“标清(LD)”“高清(HD)”“1080p”“4K/8K”等选项,视频画面清晰度会有很大的差异,这个指的就是视频分辨率。 视频分辨率是指能够在每个维度上显示的不同像素的数量。通常援用为“宽度×高度”,例如:“ 1024×768”。其中,1024 示意宽度,而 768 示意能够解析像素的高度。咱们通常看到的分辨率(360p,480p,720p 或 1080p)则代表视频从上到下的水平线数。因而,一个 480p 视频由 480 条线组成,每条线重叠在一起,每行宽 852 像素。也就是说,480p 视频的分辨率为 852×480 像素。 ...

September 9, 2020 · 1 min · jiezi

关于又拍云:HTTP3-来了你了解它么

作为咱们网上冲浪最为常见,也常常被人漠视的 HTTP 曾经更新换代到了 HTTP/3。本文简单明了的带你意识 HTTP/3 的作用。 最近二狗子看到本人存储女神婷婷照片所用的云服务商——又拍云推出了 HTTP/3 尝鲜性能。作为喜好学习的二狗子同学既惊喜又好奇,他对 HTTPS、HTTP/2 十分相熟,然而对于 HTTP/3 却是少了一些理解。 “HTTP/2 都还没遍及,没想到又拍云居然连 HTTP/3 性能都上了,真不愧是业界良心,果然他们常说的技术气氛不只是说说的。看样子这段时间本人不够勤快,是时候去学习下 HTTP/3 相干常识了。”二狗子一边心里想着,一边就开始找材料学习了。 HTTP/3 是什么?要深刻理解 HTTP/3,那首先要晓得什么是 HTTP/3。 如上图所示,HTTP/3 是基于 QUIC 的协定。而 QUIC 协定是 Google 提出的一套开源协定,它基于 UDP 来实现,间接竞争对手是 TCP 协定。 另外,要聊 HTTP/3,HTTP 的倒退历程是怎么也绕不过来的,而且能够讲很久。 如果想要具体理解 HTTP 的前世今生与倒退历程,能够查看之前的内容《当我谈 HTTP 时,我谈些什么》。 HTTP/3 的长处及有余明天咱们在这里简略说一下 HTTP/3 相比拟 HTTP/2 提高的那些点。 回归正题,相比 HTTP/2 而言 HTTP/3 有以下几点晋升: HTTP/3 应用 stream 进一步扩大了 HTTP/2 的多路复用。在 HTTP/3 模式下,个别传输多少个文件就会产生对应数量的 stream。当这些文件中的其中一个产生丢包时,你只须要重传丢包文件的对应 stream 即可。HTTP/3 不再是基于 TCP 建设的,而是通过 UDP 建设,在用户空间保障传输的可靠性,相比 TCP,UDP 之上的 QUIC 协定进步了连贯建设的速度,升高了提早。通过引入 Connection ID,使得 HTTP/3 反对连贯迁徙以及 NAT 的重绑定。HTTP/3 含有一个包含验证、加密、数据及负载的 built-in 的 TLS 平安机制。拥塞管制。TCP 是在内核区实现的,而 HTTP/3 将拥塞管制移出了内核,通过用户空间来实现。这样做的益处就是不再须要期待内核更新能够实现很不便的进行疾速迭代。头部压缩。HTTP/2 应用的 HPACK,HTTP/3 更换成了兼容 HPACK 的 QPACK 压缩计划。QPACK 优化了对乱序发送的反对,也优化了压缩率。没有哪项技术是白璧无瑕的,更不用说是还在倒退中的 HTTP/3 了。 ...

August 27, 2020 · 2 min · jiezi

关于又拍云:看视频常见的-720p1080p4k这些分辨率到底包含了什么

从晚期的420p,到起初的720p,到当初的非1080p不看。视频的清晰度飞快晋升,然而在看到色调越来越丰盛清晰度越来越高的画面时,你有关注过他们的到底是怎么做到的么?咱们一起来理解一下吧。 想必大家在日常生活中都会看到或听到“分辨率”这个词,比方在视频网站会有几个分辨率选项供咱们抉择。 咱们都晓得选不同的分辨率会带来不同的清晰度,然而他们为什么要叫这个名字,720p、1080p 这些分辨率中到底蕴含了什么呢?可能有不少小伙伴不甚了解,明天咱们就来一起学习下吧。 不同分辨率之间的区别及含意不同的分辨率之间具体有什么区别呢?咱们上面就以 720p、1080p 为例进行阐明。 咱们常说的 1080 和 720 其实是指垂直像素数,分辨率除去垂直像素,还须要思考到程度像素数。依照 16:9 (宽 : 高) 的比例计算,720p 的程度像素数为 720 ÷ 9 × 16 = 1280,总计像素为921600像素即大概为 92 万像素。1080p 具备 1920 个程度像素,总计2073600像素即约 200 万像素,是 720p 的两倍多。 而像素越多视频就越清晰,所以 1080p 比 720p 的视频更加清晰。 曾经解释了 720 和 1080 这两个数字的含意,那前面跟着的 p 又是指什么呢?甚至还有些网站的分辨率显示是 720i 和 1080i,这个 i 又指的是什么?同样都是1080,1080i 和 1080p 哪个会更清晰? 其实 i 和 p 是指扫描形式,i 示意隔行扫描,p 则示意逐行扫描,以 1080 的视频举例: 1080i:1920 x 1080 分辨率。隔行扫描模式下的高清图像是隔行显示的。每一个奇数行图像都在每一偶数行图像前面显示进去。比方将 60 帧分成两局部,奇数帧只扫描 1,3,5,7,9… 行,偶数帧只扫描 2,4,6,8,10… 行。实践上人眼是觉察不进去画面不间断,反而是因为视觉残留,能主动将两帧叠加在一起。1080p:1920x1080 分辨率。和 1080i 的区别就在于 1080p 不是隔行扫描,是逐行扫描。每一线都同时体现在画面上,因而比隔行扫描电视更加的平滑。咱们能够从下图看到各种分辨率的差异: ...

August 26, 2020 · 1 min · jiezi

关于又拍云:大侠稍等URL-中为何出现奇怪的字符

为什么中文名称的图片关上后网址是一串乱码?为什么好好的短网址复制粘贴就变长了一大长串?罪魁祸首竟然是…… 杭州终于出梅了!二狗子看到气象台公布的音讯,开心的不得了。杭州的雨从五月底始终下,每天除了雨还是雨,天空都是灰蒙蒙的,都快把人搞抑郁了。出梅了,天晴了,二狗子的心也随着蓝天上的白云浮荡进来了。 共事小峰峰通知二狗子,公司后边的皇后公园,向日葵开的正好,一大片一大片的绵延进来,阳光下金灿灿的,可难看了。“要不要一起去看看?你拍点照片给婷婷呗~” 二狗子一想起女神婷婷很喜爱向日葵,拍点漂亮的照片,能看到婷婷甜甜的笑,就急不可待地拉着小峰峰往公园跑。 二狗子拍了好多照片,精挑细选了好几张,上传到本人的图片网站了。他用浏览器关上图片看了看,没有问题,十分完满,就复制了图片地址发给婷婷。 二狗子有点难堪,明明在浏览器中是失常显示的 URL 地址,怎么复制进去就变成一堆奇怪的字符了呢? 二狗子百思不得其解,得,还是问一下本人的存储服务商——无所不能的又拍云吧。 客服乔巴接待了二狗子,并通知了二狗子这个问题的由来。 URL - 网络资源定位符通过互联网来拜访网络中资源的时候,最常见就是通过浏览器输出资源的 URL 地址来进行拜访。 URL(Uniform Resource Locator),是互联网中的一个外围概念,官网名称叫做对立资源定位符。简略的来说,URL 就是一个由网站开发者给资源在互联网上调配的地址。一般来说,每个无效的 URL 都指向独自的一个资源,这个资源能够是HTML 页面、CSS 文档,又或者是一幅图像等。 一个 URL 由不同的局部组成,其中一些是必须的,而另一些是可选的。上面咱们来看下 URL 的具体组成部分: 上图就是残缺的 URL 构造展现。很多时候其中的一些局部是用不到的,例如 user information。作为参考,咱们能够来看一下又拍云存储的 URL 地址。 https://www.upyun.com/product... https:// ,申请协定(scheme),指定了浏览器须要应用何种协定来与指标服务器进行通信。常见的协定有 HTTP 和 HTTPS。www.upyun.com,域名(host),表明申请的资源所在的服务器地址。/products/file-storage ,资源门路地址(path),服务器通过门路来确认拜访资源在服务器上的哪个地位。个别常见的 URL 地址由这三个局部组成,其余的局部依据开发的须要,能够进行自定义。 理解 URL 的概念后,就晓得二狗子的图片链接 http://fileupload-upyun.test.... 的由来了。通过这个地址,婷婷能够拜访到二狗子服务器上拍摄的向日葵图片。然而,为什么二狗子复制了浏览器地址栏中的地址,发送给婷婷的时候,URL 却变成了 http://fileupload-upyun.test.... 了呢? 奇怪的字符 - URL 编码咱们能够看到,二狗子发给婷婷的链接,扭转了的局部属于 URL 的 path 局部,而且,英文局部其实没有改变,只有中文的局部被转成 %XX 的这种编码格局了。 ...

August 13, 2020 · 2 min · jiezi

关于又拍云:QUIC协议详解之Initial包的处理

从服务器发动申请开始追踪,细说数据包在 QUIC 协定中经验的每一步。大量实例代码展现,扼要易懂理解 QUIC。 前言本文介绍了在 QUIC 服务器在收到 QUIC 客户端发动的第一个 UDP 申请— Initial 数据包的剖析、解决和解密过程,波及Initial数据包的格局,数据包头部爱护的去除, Packet Number 的计算,负载数据的解密,client hello 的解析,等等。本文的 C 实现采纳 OpenSSL,并基于 IETFQUIC Draft-27。 术语PacketNumber :数据包序号 Initial Packet:初始数据包 Variable-length Integer Encode:可变长度整型编码 HMAC:Hash-based messageauthencation code,基于 Hash 的验证信息码 HKDF: HMAC-based Extract-and-Expand KeyDerivation Function,基于 HMAC 的提取扩大密钥衍生函数 AEAD: authenticated encryption withassociated data, 带有关联数据的认证加密 ECB: Electronic codebook,电子密码本 GCM: Galois/Counter Mode,伽罗瓦/计数器模式 IV: InitialVector, 初始化向量 基本概念介绍 Initial 数据包的构造 Initial 包是长头部构造的数据包,构造如图 3.1 所示,在 CRYPTO 帧前面须要跟上 PADDING 帧,这是 QUIC 协定预防 UDP 攻打的伎俩之一。个别状况下,CRYPTO 帧太短了(的确也有比拟长“一锅炖不下”的状况,可参阅 QTS-TLS 4.3节),服务端为了响应 CRYPTO, 必须发送数据长度大得多的握手包(Handshake Packet),这样就会造成所谓的反射攻打。 ...

August 12, 2020 · 8 min · jiezi

关于又拍云:又拍云网关速率限制实践

速率限度 (Rate Limit) 通过限度调用 API 的频率避免 API 适度应用,爱护 API 免受意外或歹意的应用,在诸多业务场景中失去广泛应用。日前,又拍云零碎开发工程师陈卓受邀在 Open Talk 公开课上作了题为《又拍云网关速率限度实际》的分享,具体解读以后罕用的算法以及基于网关 nginx/openresty 的实现和配置细节。以下是直播分享内容整顿,查看视频请点击浏览原文。 网关速率限度是一种进攻服务性措施,公共服务须要借其爱护本人免受适度应用,应用速率限度次要有三个益处: 晋升用户体验:用户在应用公共服务时总会面临一些资源加强和共享的问题,例如 CPU,当一个用户不论是无意或无心地适度应用 API 时,势必会对其余的用户造成一些影响。更加平安:咱们的服务、CPU、内存其实都是有肯定的限度,适度拜访势必会影响到服务的稳定性。如果有四个服务,每个服务能承载 100 个申请,当其中一个服务超过 100 个申请时就可能会宕机,其它三个服务在接管到超过 100 个服务申请时,也会接着间断宕机,这会造成服务不可用。缩小开销:当初很多服务都是放到私有云上,内存、CPU 和流量都是有老本的,有一些按量计费,应用多少花多少钱,这种状况会产生一些不必要的开销。RateLimit 的几种算法首先介绍四种速率限度的算法,别离是漏桶(Leaky Bucket)、令牌桶(Token Bucket)、固定窗口(Fixed Windows)、滑动窗口(Sliding Windows),很多限度措施都是基于这些算法进行的。漏桶和令牌桶尽管直观了解看似不太一样,然而在底层实现中这两种算法十分类似,达到的成果差不多。固定窗口和滑动窗口属于另外一类,滑动窗口是基于固定窗口做的。 漏桶(Leaky Bucket) 如上图所示,用户申请都被放进桶里,当桶满了当前,申请会被回绝掉。桶的底部有一个孔,申请会以肯定的速率被放过,比如说当初是限度每分钟 10 个申请,意味着每隔 6 秒钟就会有一个申请通过。漏桶算法的特点在于其通过申请的速率是恒定的,能够将流量整形的十分平均,即使同时有 100 个申请也不会一次性通过,而是按肯定距离缓缓放行,这对后端服务迎接突发流量十分敌对。 令牌桶(Token Bucket) 令牌桶,顾名思义桶里放的是一些令牌,这些令牌会按肯定的速率往桶里放,如果每分钟限度 10 个申请,那么每分钟就往桶里放 10 个令牌,申请进来的时候须要先在令牌桶里拿令牌,拿到令牌则申请被放行,桶为空拿不到则意味着该申请被回绝掉。 须要阐明的是,令牌的个数是按肯定的速率投放的,每分钟放 10 个令牌,那么能通过的申请必定也是每分钟 10 个。如果匀速放令牌, 6 秒钟放一个令牌,最终后果和每分钟放 10 个令牌是一样的。 漏桶(Leaky Bucket)算法实现 因为令牌桶跟漏桶的实现成果差不多,这里次要细讲漏桶的算法和实现。先假如速率限度是每分钟 3 个申请,即每 20 秒钟放行一个申请。如图所示,假如第 10 秒进来第一个申请,因为之前始终都没有申请进入,所以该申请被容许通过。记录下最初一次的拜访工夫,即为本次申请通过工夫点。 ...

August 5, 2020 · 3 min · jiezi

关于又拍云:视频网站节约流量的小妙招

当初社会大家不是在看视频就是在筹备去看视频的路上,那些花样百出的视频播放、敞开时你有留神过下方那个小小的进度条么?在进度条里其实暗藏着大大的明码,你晓得是什么么? 2020 年初,一场从天而降的疫情突破了咱们以往失常的生存,也阻挡了大家出行的脚步。抗击疫情,最重要的防护措施就是缩小外出,做好隔离,大家每天待在家里,流动范畴仅限“卧室 - 客厅 - 卫生间”,因为鸿鹄之志呈现了许多“宅家趣事”。 比方某“土豪”网友在家里钓鱼,不晓得远道而来的热带鱼会不会“愿者上钩” … ... 也有某网友很有“商业头脑”的自制套圈游戏,放在当初肯定很适宜摆摊 … … 俗话说有急躁的人肯定能成就一番小事,这不就有网友把整袋果干数了一遍,揭开了哪种干果最便宜了的机密…… 宽广网友集思广益发明了很多宅家趣事的同时,肯定也有很多的小伙伴一朝无暇疯狂“追剧、看视频”补齐剧情和娱乐进度。特地最近,各大综艺纷纷官宣首播工夫,各视频平台也上线了新剧,好像后宫三千佳丽静待垂怜,让人乐不思蜀。 工夫无限,而抉择却越来越多。为了用户可能在无限工夫内看更多的内容,各视频平台推出了各种“花色节约工夫老本”的性能,比方倍速、只看 TA 等等。对于一些剧情拖沓的电视,或者想快进又舍不得的人,这些性能几乎好用到爆。 那大家在用这些好用的性能疯狂追剧的同时有没有留神到,有时咱们观看的网络视频,它的进度条不是一次性全副载入,而是一段一段的加载?同时必定也有小伙伴困惑为什么看视频咱们能快进,下载文件的时候就不能够?上面咱们就来一一解密。 视频缓冲技术在播放视频的时候,咱们个别不须要期待全副加载实现后再开始观看,而是在咱们关上视频的时候就能够点击观看,同时视频加载的进度条是随着播放继续加载。这里使用的就是视频缓冲技术。 缓冲是指将数据预加载到内存保留区(或称为缓冲区)的过程。在流式传输视频或音频的状况下,缓冲能够让客户端(或浏览器)在开始播放视频或音乐之前,先下载肯定数量的数据。这样当流媒体的下一部分在后盾加载时,您能够观看存储在缓冲区中的数据。这种预加载过程能够确保视频在网络稳固的状况下不收烦扰的放弃晦涩播放。 应用这项技术后观看视频就能够免去等待时间,不必全副下载完能力观看,大大提高了观看体验。 视频分段加载 目前支流的大型视频网站(例如腾讯、优酷、爱奇艺、blibli)在进行视频点播时,都应用了视频分段加载和播放的技术。比方咱们关上一个视频观看时,能够发现缓冲条在缓冲一段后进行,期待播放一部分后再持续缓冲,这个就是分段加载。 分段是将一个残缺的视频切割成若干小段视频。观看视频时,会跟随着播放的工夫一阶段一阶段地去加载剩下的小段视频,并不需要一下全部加载完。如果观看者看到了视频的 50%,忽然不想看了,没有应用分段技术可能会加载全副的视频。;有了分段,视频可能只须要加载 55%,剩下的45%在进行观看后就不会持续加载,这样就节俭了 45% 的流量。这也是分段加载最大的益处,既缩小带宽和流量的节约。 如果你在观看网络视频时关上了浏览器的开发者模式,你会看到除了开始申请视频返回的 200 状态码,上面还会有一串 206 状态码。 这种响应是当客户端表明本人只须要指标 URL 上的局部资源时返回的。点开任意一个 206 申请,都能够通过 Content-Range 响应头辨认出该局部内容的申请。Content-Range 响应头用于表明具体加载了资源的哪一部分。例如下图的申请就是加载的 3375104-16313201 字节的数据。 Content-Range: bytes 3375104-16313201/16313202 3375104-16313201 是指分段的数据 16313202 是指总文件大 将视频缓冲和分段技术相结合,既能使视频在客户端播放晦涩,又能无效的节俭带宽和流量,同时因为缓冲在本地的是小段视频,也为盗取视频减少了难度,可能更好的爱护视频版权。 又拍云 CDN 之分段缓存随着网络速度的一直放慢,视频播放的带宽需要也越来越大。经调研,一些视频网站的带宽老本仅次于影视剧版权费用,可见视频网站在带宽上老本之昂扬。 在针对视频网站的需要上,除去又拍云 CDN 的传统缓存技术,又拍云还开发了多种性能,为视频网站提供一些“节约流量的小妙招”。 CDN 的传统缓存技术是将残缺文件作为最根本缓存单位的,因为“点播和下载”减速业务中大文件(上百 M 甚至几十 G) 随处可见。如果客户端通过 HTTP 协定中的 Range 申请获取文件的局部内容,实现并发下载和断点续传。那么依照传统缓存个性,文件要么被残缺缓存,要么不缓存。 ...

July 30, 2020 · 1 min · jiezi

当我谈-HTTP-时我谈些什么

当咱们关上网站时兴许不会去注意网站后面的HTTP是怎么来的。然而它毫无疑问在网络中有着无足轻重的位置。本文从起源到倒退,详说HTTP从1到3的演变。 说在后面本文不致力于讲完 HTTP 的全部内容,事实上短短的篇幅也不可能讲完。本文也无心于深挖 HTTP 中的某一点,这是像 《HTTP 权威指南》或者是 RFC 协定做的事。 本文指标是帮忙读者理清 HTTP 的演化过程,说说 HTTP 变动的那些事。 HTTP 的起源HTTP 最后是 Tim BernersLee 1989 年在欧洲核子钻研组织(CERN)所发动的。Tim BernersLee 提出了一种能让远隔两地的研究者们共享常识的构想。这个构想的根本理念是:借助多文档之间互相关联造成的超文本(HyperText),连成可互相参阅的 WWW(World Wide Web,万维网)。用于传输的超文本传输协定(HyperText Transfer Protocol),即 HTTP 由此诞生。 WWW 这一名称,是 Web 浏览器当年用来浏览超文本的客户端应用程序时的名称。当初则用来示意这一系列的汇合,也可简称为 Web。 HTTP 自身是一个简略的申请-响应协定,它通常运行在 TCP 之上。从整个网络模型来看,HTTP 是应用层的一个协定。在 OSI 七层模型中,HTTP 位于最上层。它并不波及数据包的传输,只是规定了客户端和服务器之间的通信格局。定了客户端可能发送给服务器什么样的音讯以及失去什么样的响应。申请和响应音讯的头以 ASCII 码模式给出。 HTTP 采纳 BS 架构,也就是浏览器到服务器的架构,客户端通过浏览器发送 HTTP 申请给服务器,服务器通过解析响应客户端的申请。就是这个简略实用的模型,使得 HTTP 这个基于 TCP/IP 的协定迅速推广。 HTTP/0.9 到 HTTP/1.1HTTP 的演变并不是欲速不达的。当年 HTTP 的呈现次要是为了解决文本传输的难题。因为协定自身非常简单,于是在此基础上构想了很多利用办法并投入了理论应用。当初 HTTP 曾经超出了 Web 这个框架的局限,被使用到了各种场景里。 ...

July 15, 2020 · 6 min · jiezi

三分钟了解-Python3-的异步-Web-框架-FastAPI

疾速编码,功能完善。从启动到部署,实例详解异步 py3 框架抉择 FastAPI 的起因。 FastAPI 介绍FastAPI 与其它 Python-Web 框架的区别 在 FastAPI 之前,Python 的 Web 框架应用的是 django、flask、tornado 三种 Web 框架。 django 自带 admin,可疾速构建,然而比拟轻便。如果是 mvc 模式的开发,很多曾经封装好了,确实蛮适合。但如果是 restful 格调设计,则 django 就显得有一些轻便了。flask 疾速构建,自由度高。因为它非常轻捷,插件即插即用,很适宜用来做 restful 格调的设计tornado Python Web 框架和异步网络库,它执行非阻塞 I/O , 没有对 REST API 的内置反对,然而用户能够手动实现。FastAPI 疾速构建,异步 IO,自带 Swagger 作为 API 文档,不必后续去内嵌 Swagger-Ui我集体认为 FastAPI 是一个专门为 restful 格调设计,全面服务于 API 模式的 Web 后端框架。 FastAPI 官网定位 在 FastAPI 官网文档中,能够看到官网对 FastAPI 的定位: 疾速:十分高的性能,向 NodeJS 和 go 看齐(感激 Starlette 和 Pydantic)疾速编码:将性能开发速度进步约 200% 至 300%。谬误更少:缩小约 40% 的人为谬误(开发人员)。* (FastAPI 内置很多 Python 高版本的语法,比方类型正文,typing 库等等,因而被要求的 Python 版本为 3.6+)繁难:旨在易于应用和学习。缩小浏览文档的工夫。功能完善: 自带 Swagger 作为 API 文档Framework Benchmarks ...

July 9, 2020 · 5 min · jiezi

原来我在4年前就开始体验雾游戏了

前有云游戏后有雾游戏,游戏的方式看来起来越来越多种多样。那么“震撼业界”的雾游戏到底是什么来头?它依靠什么改变游戏界?它的原理又是什么? 本月月初,著名的日本游戏杂志《Fami通》表示有一个能够“震撼业界”的大新闻将在6月4日发行的期刊中公布。这一宣言毫无疑问吸引了许多游戏玩家和吃瓜群众的关注。毕竟前两年“用游戏重新定义游戏”的Apple Arcade和“云游戏”Stadia,都没有说自己是“震撼业界”。这么大的口吻让二狗子觉得自己看到了全息游戏,头号玩家这类游戏在向自己招手。 后经过多方消息探明,这个震撼业界的大新闻是指世嘉正在研发一种名为“雾游戏(Fog Gaming)”的技术。简言之就是使用类似雾计算的概念,将全日本游戏厅转换为云来使用,让游戏中心升级为“数据中心”,将云游戏原本十几毫秒的延迟降低到 1 毫秒以内。在此技术的支持下,街机厅在非营业时间也能获得收益。 看完了新闻消息的二狗子只有一个反应:就这?你拿着一个4年前就体验过的东西说什么“震撼业界”呢?你不要以为换个名字二狗子就不认识你了,这不就是利用边缘计算来实现的所谓”雾游戏”嘛“! 边缘计算与云计算要说边缘计算,那就不得不提到云计算。 云计算是一种基于互联网的计算方式,通过云计算,共享的软硬件资源和信息可以按需提供给各种终端。云计算常见的应用场景有云服务器、云存储、数据处理等。 这里也可以简单解释下,为什么世嘉研发的是“雾游戏”,而不是云游戏。云游戏是将游戏内容的运行都放到了云端服务器,用户只需要用屏幕来接受游戏画面及进行游戏操作即可。但是这会产生一个问题,那就是数据传输之间的延迟。从客户端上传操作数据到云端,由云端计算完毕后再返回给客户端,这来来回回高达数百毫秒的延迟,无法让你在进行游戏的时候享受丝滑流畅,画面大概率会卡成 PPT。这也是为什么云计算如此好用,但是在部分需要极速交换信息的方向没有办法使用的原因,当然这也是世嘉研发“雾游戏”的原因。 造成延迟的原因有很多个,其中一个是云计算无法解决的光纤传输所跨越的物理距离。无论你使用多么好的光缆,只要物理距离在增加,那么来回数据的传输时间也会增多,延迟自然也就同步上升了。当然这个问题可以通过增多云服务来解决,可是这又涉及到高额的成本,并不是轻易就能实现的。 什么是边缘计算 为了在不增加大额成本的同时又能有效降低云计算延迟问题,边缘计算诞生了。而边缘计算其实就是世嘉研发“雾游戏”的核心技术本质。 边缘计算是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,在靠近数据输入或用户的地方提供计算、存储和网络带宽。 使用一个贴近生活的举例来讲就是膝跳反射。当你叩击膝盖下方韧带时,你的小腿抬起会快于你的大脑发现被敲击这个事情。这是因为叩击韧带时,叩击这一数据优先传达到位于脊髓的低级神经中枢,而脊髓一边直接下达让小腿抬起的指令,一边将这个数据反馈给大脑。大脑是云计算,而脊髓则是边缘计算。 边缘计算的优点 相较于云计算,边缘计算有着以下几个优点: 低延迟:部署在设备附近的计算能力,避免了长距离数据传输从而完成设备请求的实时响应。成本小:不是依靠大量部署昂贵的云服务器,而是利用多台价格便宜的边缘节点组成数据网络。降低带宽压力:因为部分计算数据将由边缘节点完成,不再需要传输大量数据到站点,有效降低了站点带宽更安全:数据的采集、分析、处理都在本地网络完成了,避免了在公共网络传输时导致的泄露可能性。又拍云与边缘计算看到这里相信大家已经对边缘计算有了大概了解,也能了解为什么文章开头说它可以“震撼业界”了,因为它确实让随时随地玩各种大型游戏的梦想更加靠近了我们。当然也有人会觉得二狗子在吹牛,毕竟连世嘉都今年刚刚公布这个消息,你4年前是从哪里体验的? 这就不得不提到二狗子的老朋友——又拍云了。 早在 2016 年又拍云就意识到边缘计算与云计算是一种互补关系。云计算侧重“云”,边缘计算侧重“端”。云计算可以进行非实时、长周期数据的分析,适合集中业务的处理和复杂计算,边缘计算可以进行实时、短周期数据的分析,适合本地业务的处理与执行及简单计算。 因此又拍云瞄准 5G 物联网时代,早早就开始了对边缘节点的容器化改造,将又拍云的云存储、云处理、云安全、人工智能等云端的能力拓展至边缘节点和网络,满足用户对边缘计算节点远程管控、数据就近处理、数据分析决策以及智能化的诉求,帮助用户将业务下沉至边缘,提供完整的边云协同的一体化解决方案。 目前,又拍云边缘计算平台已经在视频监控、智能充电桩等领域落地实践。同时也会在未来让边缘计算和云计算在资源、数据、服务等领域形成“边云协同”,共同打造便捷快速的 5G 时代。 推荐阅读从 301 跳转,聊聊边缘规则的那些小妙用 企业如何高效平稳实现数据迁移

June 29, 2020 · 1 min · jiezi

QUICHTTP3-协议简析

从 HTTP 的进化历史讲起,细说使用协议的变迁,了解原因发现问题,解码 QUIC 在 HTTP3 中的支撑作用,共同探讨 HTTP3 的未来。 HTTP、HTTP2 和 HTTP3先和大家来回顾一下 HTTP 的历史,看看 HTTP3 相比 HTTP、HTTP2 都有哪些改进和升级的地方。 HTTP VS HTTP2 多路复用:多路复用时,多文件传输有时只需维护一个 TCP 连接。如果是 HTTP1 协议下,每份资源的传输对应一个 TCP 连接,一般最多只能开启 6 个 TCP 连接来传输多路数据,后续每增加一个新链接就会因为拥堵问题卡死,进而导致整个进程无法运行。因此HTTP/2解决了 HTTP 的队头阻塞问题。 头部压缩和 Server Push:HTTP2 会通过 HPACK 做头部压缩。同时 HTTP2 是二进制协议,在解析上相比基于文本的 HTTP解析效率上有所提升,并且 HTTP2 还增加了 Server Push。 在 TCP 下,依然无法解决延迟问题,比如为防止初始阻塞而引入的慢启动;TCP 队头阻塞,比如由于发生丢包,整个连接涉及的传输数据都需要重传而引起的阻塞。 尽管 HTTP2 相比 HTTP 已经有了改进的地方,但是如果你有 2% 的丢包率,那 HTTP2 在性能上就没有优势了。 上图是造成 TCP 队头拥塞(Head of line blocking)的原因。HTTP2 协议是基于 TCP 的,但是 TCP 本身是无法解决队头拥塞,为什么呢?因为 HTTP2 会把一次传输所有的文件都放在一个 TCP 连接中,只要这个 TCP 中发生一个丢包,连接就必须重新建立,之前所有传输内容进行必须重传,从而造成拥塞。 ...

June 29, 2020 · 2 min · jiezi

从-301-跳转聊聊边缘规则的那些小妙用

为什么明明输入的网址是A,但是打开的网站是B?为什么别的站点随便什么网址打开都是同一个页面?为什么别人换了网址也不需要单独说明?让我们走进边缘规则的妙用解开谜底。 经常会有朋友来问,网站访问时会自动从 HTTP 跳转到 HTTPS 并反馈 301 状态码。这时可以检查一下是否开启了又拍云的——HTTPS 强制跳转功能。也有不少朋友会认为 301 状态码就是代表从 HTTP 跳转到 HTTPS。其实不完全是,尽管返回 301 状态码进行跳转被Google认为是将网站地址由 HTTP 迁移到 HTTPS 的最佳方法,但是 301 跳转能做到的东西其实很多。 301 跳转又是什么呢?首先我们先来认识一下什么是 301 跳转。301 Move Permanently 是 HTTP 协议中的一个状态码(Status Code),可以简单地理解为该资源已经被永久改变了位置,由网址 A 永久性的更改为了网址 B。301 跳转主要有以下几个功能: - HTTPS 跳转,增加网站安全性 网站 HTTPS 已是大势所趋,HTTP 协议是通过明文传输,使用 HTTP 访问可能会有数据泄露等安全性问题,而 HTTPS 是加密传输,能够保证的传输数据的安全性。以 Chrome 为例,在新版的 Chrome 中,在使用 HTTP 访问时会显示为 ! 不安全。而使用 HTTPS 访问,会显示一个安全的锁的头标志。 而正如文章开头所说的那样,将网址从 HTTP 迁移到 HTTPS 的最优解就是通过301跳转。 ...

June 18, 2020 · 1 min · jiezi