首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux入门教程:CDN加速

    1.CDN简介 ​ ​今天我们来模仿一下CDN加速下的apche服务器访问。那么我们首先来了解一下什么是CDN加速。 ​ ​CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。 ​ ​举一个例子:我们要访问腾讯的新闻网,那我们是直接去访问深圳总部的服务器么?当然不是,这样不仅服务器的负载接受不了,而且超远距离的传输速度也会受影响。所以一定不会是直接访问,它的机制跟邮件传输类似,但是却更加的方便快捷。 ​ ​深圳的总部有服务器发布信息,作为其他的地区也会有服务器同步总部的服务器。如果成千上万的用户访问总服务器的aoache端口的话,其实他们访问的是当地的服务器。这样做有两个好处: ​ ​(1)当地的服务器访问腾讯的总服务器肯定比你个人电脑快; ​(2)你访问距离比较近的当地服务器也会比直接访问腾讯总服务器要快。 ​ ​这就是CDN的二次加速,大大的提高了我们的访问页面速度。下面我们就来自己实现一个上述的模型。 ​ ​2.CDN加速实现 ​ ​(1)准备工作 ​ ​我们需要三台机子分别来充当:总服务器、地方服务器和客户机 ​ ​总服务器IP:192.168.1.191 ​

    02

    Squid缓存代理服务器安装部署

    1、代理的工作机制 作为应用层的代理服务软件,Squid主要提供缓存加速和应用层过滤控制的功能。当客户机通过代理来请求Web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要访问的页面,则直接将缓存中的页面内容反馈给客户机;如果缓存中没有客户机需要访问的页面,则由代理服务器向Internet发送访问请求,当获得返回的Web页面以后,将网页数据保存到缓存中并发送给客户机。 HTTP代理的缓存加速对象主要是文字、图像等静态Web元素。使用缓存机制后,当客户机在不同的时候访问同一Web元素,或者不同的客户机访问相同的Web元素时,可以直接从代理服务器的缓存中获得结果。这样就大大减少了向Internet重复提交Web请求的过程,提高了客户机的Web访问响应速度。 由于客户机的Web访问请求实际上是由代理服务器来代替完成的,从而可以隐藏用户的真实IP地址,起到一定的保护作用。另一方面,代理服务器担任着类似“经纪人”的角色,所以有机会针对要访问的目标、客户机的地址、访问的时间端进行过滤控制。

    01

    针对nginx、haproxy、lvs 的优缺点分析

    Nginx的优点:          1.性能好,可以负载超过1万的并发。          2.功能多,除了负载均衡,还能作Web服务器,而且可以通过Geo模块来实现流量分配。          3.社区活跃,第三方补丁和模块很多          4.支持gzip proxy   缺点:           1.不支持session保持。意思是:用户找Nginx请求一个PHP的页面,输入了用户名,密码。接着用户可能又开了一个新窗口,新窗口开了后,还是访问之前个的服务器,此时,Nginx会当成一个新的请求来处理,这样可能会导致请求被分发给其它的后端服务器。因为其不支持session保持           2.对后端realserver的健康检查功能效果不好。而且只支持通过端口来检测,不支持通过url来检测。           3.nginx对big request header的支持不是很好,如果client_header_buffer_size设置的比较小,就会返回400 bad request页面。 Haproxy的优点:          1.它的优点正好可以补充nginx的缺点。支持session保持,同时支持通过获取指定的url来检测后端服务器的状态。          2.支持tcp模式的负载均衡。比如可以给mysql的从服务器集群和邮件服务器做负载均衡。此点相比LVS讲,差一些! 缺点:          1.不支持虚拟主机(这个很傻啊)          2.目前没有nagios和cacti的性能监控模板 LVS的优点:           1.性能好,接近硬件设备的网络吞吐和连接负载能力。           2.LVS的DR模式,支持通过广域网进行负载均衡。这个其他任何负载均衡软件目前都不具备。    缺点:           比较重型。另外社区不如nginx活跃。 -------------------------------------------------------------------------------------------------------- nginx lvs 负载均衡 lvs和nginx都可以用作多机负载的方案,它们各有优缺,在生产环境中需要好好分析实际情况并加以利用。 首先提醒,做技术切不可人云亦云,我云即你云;同时也不可太趋向保守,过于相信旧有方式而等别人来帮你做垫被测试。把所有即时听说到的好东西加以钻研,从而提高自己对技术的认知和水平,乃是一个好习惯。 下面来分析一下两者: 一、lvs的优势:    * 1、抗负载能力强,因为lvs工作方式的逻辑是非常之简单,而且工作在网络4层仅做请求分发之用,没有流量,所以在效率上基本不需要太过考虑。在我手里的 lvs,仅仅出过一次问题:在并发最高的一小段时间内均衡器出现丢包现象,据分析为网络问题,即网卡或linux2.4内核的承载能力已到上限,内存和 cpu方面基本无消耗。    * 2、配置性低,这通常是一大劣势,但同时也是一大优势,因为没有太多可配置的选项,所以除了增减服务器,并不需要经常去触碰它,大大减少了人为出错的几率。    * 3、工作稳定,因为其本身抗负载能力很强,所以稳定性高也是顺理成章,另外各种lvs都有完整的双机热备方案,所以一点不用担心均衡器本身会出什么问题,节点出现故障的话,lvs会自动判别,所以系统整体是非常稳定的。    * 4、无流量,上面已经有所提及了。lvs仅仅分发请求,而流量并不从它本身出去,所以可以利用它这点来做一些线路分流之用。没有流量同时也保住了均衡器的IO性能不会受到大流量的影响。    * 5、基本上能支持所有应用,因为lvs工作在4层,所以它可以对几乎所有应用做负载均衡,包括http、数据库、聊天室等等。 另:lvs也不是完全能判别节点故障的,譬如在wlc分配方式下,集群里有一个节点没有配置VIP,会使整个集群不能使用,这时使用wrr分配方式则会丢掉一台机。目前这个问题还在进一步测试中。所以,用lvs也得多多当心为妙。 二、nginx和lvs作对比的结果    * 1、nginx工作在网络的7层,所以它可以针对http应用本身来做分流策略,比如针对域名、目录结构等,相比之下lvs并不具备这样的功能,所以 nginx单凭这点可利用的场合就远多于lvs了;但nginx有用的这些功能使其可调整度要高于lvs,所以经常要去触碰触碰,由lvs的第2条优点看,触碰多了,人为出问题的几率也就会大。    * 2、nginx对网络的依赖较小,理论上只要ping得通,网页访问正常,nginx就能连得通,nginx同时还能区分内外网,如果是同时拥有内外网的节点,就相当于单机拥有了备份线路;lvs就比较依赖于网络环境

    03
    领券