新闻动态

cdn:搭建自己的cdn会有哪些乐趣和好处?

发布日期:2021-01-03 11:38 | 文章来源:YINGSOO

  【温馨提醒】文章内容仅供参考,海外服务器租用\托管方案,请咨询YINGSOO客服,24小时免费电话400-630-3752

  【热门主机】法国云主机云主机产品新加坡云主机租用英国云主机

  【热搜问题】英国云主机这么便宜,它好用吗?

cdn

  如你所见, 我也喜欢页面能快速加载, 越快越好. 但在我们开始讨论之前, 先要有一个清楚的认知: cdn 并不是万能的. 如果因为糟糕的前端工作导致你的网站变慢, cdn 并不能帮到你太多, 你需要先做好前端工作. 但一旦你已经做好了所有的优化, 就需要来研究一下内容传输这块了.

  我碰到的主要问题是即使能通过一次 Http 请求来完成初始网站的加载, 但因为我的服务器托管在法兰克福, 在澳大利亚的人仍需要等待 2-3 秒后才能访问到它. 超过 300ms 的往返延时和中间大量的服务提供商使得页面加载就跟 wordpress 网站一样慢.

  那如何解决这个问题呢? 一种解决方案是使用传统的 cdn. 然而大多数商业 cdn 在从服务器请求到数据之后, 都会缓存一段时间.

  由于 cdn 的存在, 在内容获取上稍微绕行了一下, 导致在使用传统 cdn 之后, 初始页面的加载反而变慢了. 如果你的网站流量高, 内容一直缓存着, 这没什么大问题. 但反过来说, 如果和我一样仅仅是运行一个小博客, 内容并不会常驻缓存,传统的 pull-cdn 反而会让网站变得更慢. 当然, 我也可以通过 push-cdn 直接上传内容, 但跟我要搭建的 cdn 相比, 这种成本要昂贵许多.

  cdn 是如何工作的?

  我们的方案很明确: 为了扩大世界影响力, 我们应该保证内容在任何位置都能被快速访问. 这意味着内容所在位置应该尽量靠近访问者. 方便的是, 很多云服务商在多个地区都提供了廉价的虚拟服务器. 我们是否仅需要把内容放到比如 6 台服务器上, 就万事大吉了呢?

  好吧, 没那么快. 那如何把用户路由到正确的服务器上呢? 我们看一下实际访问网站的过程. 首先, 浏览器通过 dns 查询网站的 ip 地址, 获取到 ip 之后, 就可以连接网站并下载请求的页面.

  上层的解决方案其实很简单: 需要一台智能 dns 服务器, 对请求的 ip 做 geoip 查询并返回离它最近的 ip 地址. 事实上, 几乎所有的商业 cdn 都是这么做的. 虽然还牵扯到许多工程学领域的内容, 比如延迟测量等, 但基本原理还是这个.

  让 dns 服务器快起来

  接下来新的问题出现了: 如何让 dns 服务器快起来? 从最近节点上访问网站仅仅解决了一半问题, 如果 dns 查找不得不绕行地球一周, 还是会有极大的延迟.

  事实证明, 支撑互联网的基础设施非常适合解决这个问题. 网络提供商使用边界网关协议来相互告知可连接的网络和跃点的多少. 多数情况下, 最终互联网提供商会采用最短路线来到达目标地址.

  如果在多个位置使用一个 ip 地址, dns 总是会路由到最近的节点, 这就是 bgp Anycast.

  为何网站下载不使用 bgp Anycast?

  如果能做到, 我们为何不简单使用 bgp 来路由网络流量呢? 主要有三个原因.

  首先, 使用 bgp Anycast 需要在网络硬件上做控制, 并且需要一个至少包含 256 个 ip 地址的池子, 这超出了我们的预算.

  其次, bgp 路由并不那么稳定. 不同于 dns 请求仅仅只需要向两个方向发送单个数据包, Http web 请求需要创建一个连接来下载内容. 期间如果路由改变或者连接不稳定, Http 连接就会断开. 对这种规模的工程来说反而增加了很多复杂性.

  最后, 跃点作为 bgp 路由计算基础, 它数目的减小并不能保证往返延迟的减小. 一个跨大洋的跃点可能仅仅是一个跃点, 但却是时间最长的一个.

  创建 dns

  既然已经确认不能运行我们自己的 bgp Anycast, 也意味着同样不能运行我们自己的 dns 服务器. 让我们去找找收费的!… 事实证明, 同时提供 bgp Anycast 和延迟路由的 dns 提供商很难找到. 我只搜索到了 2 个: 相当昂贵的 dyn 和非常便宜的 Amazon Route53.(更新: 后来发现, dns made easy 也能实现延迟路由) 既然想合算, 就选 Route53 了. 添加域名之后开始为机器设置 ip. 我们需要设置跟我们遍布世界各地的 (边缘节点) 服务器同样多的 dns 记录, 每条记录设置如下:

  提示: 最好对每个边缘节点都创建一个健康检查以便在他们失效后进行移除.

  分发内容

  我们需要解决的下一个问题是分发内容. 每个边缘节点都需要有相同的内容. 如果你使用的是 Jekyll 这样的静态网站生成器, 工作很简单: 只需要将生成的 HtmL 文件复制到所有的服务器上即可. 一个简单的 rsync 就能搞定.

  如果想使用 wordpress 这样的内容编辑系统, 工作会困难的多, 因为它并不能在 cdn 上运行. 当然也可以做, 但免不了有缺陷, 静态内容的分发仍然是一个问题. 你可能必须要创建一个分布式存储才能正常工作.

  使用 ssL/tLs 证书

  下一个痛点是使用 ssL/tLs 证书. 实际上, 可以统称他们为: x509 证书. 每个边缘节点都需要为域名设置有效的证书. 当然, 最简单的解决方案是使用 Letsencrypt 来生成不同的证书. 但要注意, 我在其中一个边缘节点上碰上了 Le 有效期的问题, 导致在每周限额到期之前我不得不暂时把伦敦节点下掉.

  我使用 traefik 作为我的选择代理, 它支持分布式键值存储, 甚至支持 Apache Zookeeper 后端同步. 虽然这需要一些程序设计, 可从长远来看会更稳定一些.

  结果

  是时候检验一下结果了, 我的 cdn 表现如何呢? 使用这个工具, 看一下总体数据:

  如你所见, 相当不错的结果. 我可能还需要在亚洲和南美加两个节点来优化加载时间.

  更新: 在把它提交到 Hacker news 首页之后, 我可以使用 google Analytics 来收集一些实际使用数据:

  结论: 我确实需要一个新加坡节点. 在印度的加载时间超过了预期的 1 秒.

  常见问题

  我在做这项工作的时候, 人们经常问我:” 你为什么要做这个呢? 你这是自寻烦恼啊 “. 确实, 在某种程度上, 我喜欢做不同的事情来探索新方向和新技术, 建立自己的 cdn 可能具有很大的意义. 让我们来谈谈关于设置的一些问题.

  首先申明: 如果商业提供商能推出价格合理的 p[高防服务器]ush cdn, 让我能处理 nice URLs, ssL 和自定义头信息, 我绝对乐意花钱解决问题并停掉我自己的基础设施. 搭建它很有趣, 但我还有很多服务器没有运行它.

  为何不用 cloudFlare?

  对很多人来说 cloudFlare 是一个很棒的工具, 但如上所述, cdn 会从缓存中移除未使用的内容. 我管理的其他网站, 在正确配置的情况下缓存命中率大概能达到 75%. 拥有自己的 cdn 则意味着内容会常驻缓存, 不会有访问远程服务器而导致的往返延时.

  为何不用 s3 或 cloudFront?

  Amazon s3 有托管静态网站的选项, 并且可以与 cloudFront 结合着使用. 然而, 它不允许你自定义缓存头信息, 设置 nice URLs 等. 为此, 你需要使用 Lambda@edge, 这是一[台湾vps价格]个可以让你在 cloudFront 边缘节点上运行代码的工具. 但 Lambda@edge 跟 cdn 有同样的问题: 如果它在一段时间内没有接收到请求, 运行它的容器就会关闭, 再次重启则需要一秒钟的时间.

  为何不用 google Amp?

  google Amp 只会在用户通过 google 搜索引擎访问你的网站时才会带来效果. 而我的大部分流量并非来自 google, 所以它并不能解决问题. 它仅仅对 google 有效果, 不管其他. 而且我完全有能力在不使用他们提供的简化 HtmL 的情况下搭建一个快速网站.

  谁在意? 3 秒的加载时间已经很棒了!

  我是一个擅长内容传输的 devops 工程师. 不管其他人如何, 我都应该有一个全球都能快速访问的网站, 不是吗? 我一般都会将 google Amp 关闭, 因为跟他们所期望的不同, 这是一项糟糕的技术.

  搭建

  现在看你的了: 是否要搭建你自己的 cdn? 源代码在 gitHub 上, 拿去吧!

  英文原文 |

  

  美国服务器租用助力国内企业出海

  在掌握别的单独服务器租用提供商与美国服务器租赁服务的差别以前,细心科学研究每个种类的网站托管作用十分关键,这将有利于维持您的业务流程保持不断的提高。

  大家都知道,美国服务器租用服务是为每一公司提供全部資源(包含CPU、运行内存、固态盘和网络带宽)的美国物理学服务器租用服务。针对公司来讲,美国服务器租用是最合适必须很多总流量和离开資源的好几个程序运行的服务器。

  店铺买家能够根据租赁最划算、最靠谱的美国服务器来布署公司级的平台网站或运用。针对业务流程解决方法,美国服务器租用将会会因为下列缘故而具备优点:位于美国,不用办理备案,即开即用;提供最大root管理权限,彻底浏览服务器,高宽比可信性,高协调能力,电脑操作系统随意布署,及时重新启动,高安全系数,100%內部适用专用型网络ip池,彻底备份文件等。美国服务器与一般的共享资源云虚拟主机有挺大不一样,它具备一些益处,比如能够合理地布署很多具有性能要求的平台网站,进而得到比较满意的特性。“本公司”美国服务器租用服务,提供美国销售市场中最高品质的服务器租用服务,有着不计其数的忠诚顾客,他们提供具备竞争能力的价钱而且彻底靠谱。

  不容置疑,本公司的美国服务器租用服务提供99.9%的一切正常运作時间确保,及其可信赖的24/7顾客适用。本公司美国服务器租用服务提供技术专业的作用,包含订制人性化的服务器配备与特性,而且RAM跨距在8GBDDR3至128GBDDR4中间。假如您准备布署大中型代管业务流程,则本公司会解决充足的传输数据,这代表能够轻轻松松解决好几个平台网站和总体总流量。在特殊的服务套餐内容中,本公司适用每一平台网站的無限网站域名和服务器室内空间。要依据方案建立大中型資源池,您务必为每一要代管的网站域名建立一个账号。另一种挑选是为尽快解决的不一样网站域名解决不一样的网站域名管理人员。

  挑选本公司美国服务器租用服务时,你能应用自身的私人订制服务器,而且能够依据必须配备网站域名。您能够掩[选择美国独立服务器的小窍门]藏你的专享IP详细地址,并使您的平台网站看上去更技术专业。此外,你可以得到高級DNS管理方法以设定自身的电子邮件服务器并从DNS操作面板偏向从每一网站域名到服务器的电子邮箱。客户要做大量的事儿,比如让不一样的子域偏向不一样的服务器。本公司完全免费提供建立内部网服务,并适用设定rDNS。

  应用美国服务器租用服务,您能够应用随意必须內部自然环境和操作面板,并让操作面板另外机构您自身的顾客以及代管账号。美国服务器的操作面板根据服务器监控专用工具查验FTP和MySQL等服务的情况。享有对顾客账号的良好控制,及其改动或修改密码,停止其账号,中止账号、建立和改动系统软件程序包,数据库查询和FTP账号。

  本公司美国服务器租用服务的重任为顾客提供高品质平稳的特性,进而协助顾客保持业务流程总体目标。本公司美国服务器租用服务勤奋飞速发展本身的市场竞争力,保存其忠诚的顾客并保存她们,以提高其在销售市场中的影响力。

  在现如今的销售市场中,美国服务器租用服务在欧美区最具竞争能力。许多具有双重CN2直连中港的美国服务器,能够保[美国云服务器价格]证中国内地、美国及欧洲区普遍顾客群的不断髙速浏览,极为合适出口外贸电子商务、娱乐游戏、金融贸易等制造行业情景。

  在优选美国服务器租用服务时,你必须在考虑到全部要素的状况下,不断参照销售市场上主流产品的美国服务器租用服务商。以便在可承担的价钱范围之内为顾客提供公司级解决方法,本公司很多年来在美国地域累积起丰富的硬件软件資源,并在美国地域产生健全高效率的制造行业协作生态环境保护,保证考虑不一样经营规模的公司IT布署计划方案。

  YINGSOO免费热线:4006_303_752

  热门文章:【steam饥荒服务器】【美国优质服务器看看YINGSOO怎么样】【香港云服务器好不好】【搭建云服务器ecs】【台湾服务器和香港服务器有什么区别】【韩国vps三网直连】【美国kt服务器租用】【服务器ip地址在哪里看】【云防御】【高防服务器租用对网站SEO有哪些影响】【虚拟主机不稳定】【美国服务器有哪些】【德国服务器价格表】【北京机房】【如何租用美国便宜g口服务器】【服务器租赁价钱该怎样取舍】【不封机外贸服务器如何选择呢】【韩国服务器怎么避免恶意攻击】【unix服务器】【美国cn2服务器速度怎么样】【cdn高防】【真实IDC公司】【聚美优品是不是正品】【国外独立服务器】【http服务器租用】【视频会议服务器】【点播服务器】【BGP双线】【云服务器取代传统虚拟主机的优势】【视频云服务器

  香港主机windows—选知名品牌YINGSOO

  香港主机windows?9年香港云服务器租用业务运营经验,1200家企业客户共同选择;香港宽频,PCCW机房核心合作伙伴,连续3年香港云服务器租用,24小时在线服务.

  https://www.yingsoo.com/products/cloud-hk.html

  YINGSOO稳定台湾主机优惠中!介绍新客户,返现16%!

  9年稳定台湾主机服务商,超过1200家企业共同选择,五星机房品质,带控制台.立即申请稳定台湾主机3天免费试用,,专业数据灾备方案,24小时贴心服务

  https://www.yingsoo.com/products/cloud-tw.html

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部