缓存服务器_weixin_34194359的博客-程序员ITS203

缓存指的是将需要频繁访问的网络内容存放在离用户较近、访问速度更快的系统中,以提高内容访问速度的一种技术。缓存服务器就是存放频繁访问内容的服务器。
缓存提供了比将访问对象放在Internet Web服务器上更好的方法,它将需要频繁访问的Web页面和对象保存在离用户更近的系统中,当再次访问这些对象的时候加快了速度。
 

什么是缓存服务器

无论企业有多大,Web缓存都有助于优化性能和节省宽带。而且如果选择了正确的缓存解决方案,它可以随着企业网络的增长而扩大,而无需进行昂贵且耗时的重建。
几年以前,理论是超高带宽的Internet连接会使Web缓存毫无用处,但是结果并非如此。即使最快的速率达到30-45Mbps的光纤Internet连接和速度在100 Mbps到1 Gbps速率的局域网相比仍然很慢,所以性能依旧是一个问题。除此之外,缓存提高了可用性,因为即使托管的Web服务器停机或者由于网络问题而不可达时,缓存的对象拷贝仍然可以访问。如果企业根据流量付费,缓存还可以降低Internet连通性的费用。即使是小公司,缓存也会有利,而且好的缓存解决方案将随着企业级别升级。
 

缓存服务器原理

Web缓存服务器的应用模式主要是正向代理和反向代理。正向代理(Proxy)模式是代理网络用户访问internet,客户端将本来要直接发送到internet上源服务器的连接请求发送给代理服务器处理。正向代理的目的是加速用户在使用浏览器访问Internet时的请求响应时间,并提高广域网线路的利用率。正向代理浏览器无需和该站点建立联系,只访问到Web缓存即可。通过正向代理,大大提高了后续用户的访问速度,使他们无需再穿越Internet,只要从本地Web缓存就可以获取所需要的信息,避免了带宽问题,同时可以大量减少重复请求在网络上的传输,从而降低网络流量,节省资费。
反向代理(Reverse Proxy)模式是针对Web服务器加速功能的,在该模式中,缓存服务器放置在web应用服务器的前面,当用户访问web应用服务器的时候,首先经过缓存服务器,并将用户的请求和应用服务器应答的内容写入缓存服务器中,从而为后续用户的访问提供更快的响应。其工作原理如下图所示。
[1] 
 

缓存概念

这是两种主要的Web缓存:
直接缓存,将用户频繁访问的来自Internet服务器的Web对象的拷贝保存在企业本地网络中。
反向缓存,企业内部Web服务器的Web对象的拷贝保存在企业网络边缘的代理服务器上以提高外界访问企业站点的性能。
Web缓存可以根据不同等级进行配置:
本地缓存:将Web对象缓存的拷贝保存在本地计算机中。大多数流行的Web浏览器默认情况下保留一个先前访问对象的缓存。例如,Internet Explorer称之为“临时Internet文件”。本地缓存拷贝只是在用户频繁地从同一台机器访问页面时有用。
代理缓存:代理服务器是为公司内的多个用户/客户计算机缓存Web对象的单独机器。它们是位于客户端和托管的Web服务器之间的计算机,而且它们比本地缓存效率更高,因为在企业本地网络中的任何用户或计算机访问某个Web对象时,缓存拷贝对想访问该对象的任何其他用户/计算机是可用的,无需到Internet服务器上再次下载它。代理缓存可以在网络边缘与防火墙结合使用。
微软的ISA Server和BlueCoat的工具一样,既包括防火墙也包括缓存代理服务器。缓存服务器也可以是单独的机器,运行免费的缓存软件或商业产品,例如:
Linux版的Squid免费缓存代理
MOWS基于Java分布式web和缓存服务器
Vicomsoft RapidCache Server for Windows或Macintosh
WinProxy for Windows
可升级的缓存解决方案
随着公司的扩大,单一的Web缓存服务器可能无法处理所有的通信或存储足够的Web对象。在这种情况下,可以扩展缓存解决方案以建立一个缓存阵列——一组共同工作以便在组内分配缓存负载的缓存代理服务器。万一某个缓存服务器停机,还提供缺省的容量。
要在阵列中操作,缓存服务器必须能够彼此使用协议进行通信,例如:
WCCP(Web缓存协调协议),Cisco缓存产品以及诸如Squid这样的开源代理使用。
ICP(Internet缓存协议),被Squid和BlueCoat支持。
CARP(缓存阵列路由协议),被ISA Server Enterprise Edition用来管理缓存服务器阵列的失效转移和负载平衡。
CARP能够支持几乎无限的线性扩展以满足快速增长型企业的需求。当向某个阵列中添加或移除一台服务器时,CARP自动调整并再指定URL以有效地分布负载。
缓存阵列能够以等级的或分布式的架构排列。在分布式缓存中,阵列中所有代理服务器处在一个“平等地位”而且负载在它们之间进行分配。在分等级的缓存中,代理以链式进行配置,它们处在不同的等级,所以服务器或阵列连接到其它离Internet更近的服务器或阵列(离Internet最近的那些服务器或阵列被看作“上游的”,那些最远的被看作“下游的”)。这样,缓存内容会尽可能地靠近需要它的用户。
阵列是高度可升级的,因为可以向阵列添加服务器,或向分等级的架构增加阵列等级,而无需扰乱目 前的缓存解决方案。
另一个可扩展性问题是使用缓存减少分支机构网络带宽的能力。分支机构代理可能没有直接连接到Internet,但是可以使用拨号连接或办公室到办公室的WAN连接以便从总公司的上游代理服务器上请求Web对象。
另一个选择是为需要向消费者提供基于Web的应用,可使用诸如由Akamai提供的服务。他们的Web Application Accelerator服务通过下列方法优化性能:
向他们的边缘服务器动态映射请求,并监视Internet路由以便在最快和最可靠的路由上传输。
利用压缩技术和预取技术(pre-fetching)以最小化带宽使用率。
用安全套接层(SSL)保护Web传输。
缓存支持的有些硬件标准:
目前缓存支持的硬件标准:
内存不超过4G,超过的只识别4G。
硬盘不超过2T,超过的只识别2T
存储硬盘数量最大支持4块(如果系统盘是电子盘不包含在内)
另外推荐使用INTEL的机器和网卡。

转载于:https://www.cnblogs.com/xtdxs/p/6541073.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34194359/article/details/94001757

智能推荐

c++中 ostringstream、istringstream、stringstream3个类的用法_mm114820的博客-程序员ITS203

1.要想使用必须加上头文件#include<sstream>头文件3种头文件:<iostream>:基于控制台的输入输出流<fstream>:基于文件<sstream>:基于字符串,有ostringstream、istringstream、stringstream 3个类2....

笔记10-继承&修饰符_Saito__Asuka的博客-程序员ITS203

继承继承概述继承的格式格式: public class 子类名 extends 父类名();范例: public class zi extends fu()Fu:是父类,也被称为基类,超类zi :子类,也被称为派生类继承中子类的特点子类可以有父类的内容子类还可以有自己特有的内容package com.itdemo_05;/*父类*/public class Fu { public void show(){ System.out.println("

Spring Boot 核心编程思想-第二部分-读书笔记_阿飞云的博客-程序员ITS203

怕什么真理无穷进一步有近一步的欢喜说明本文是Spring Boot核心编程思想记录的笔记,书籍地址:Spring Boot编程思想(核心篇):这篇文档会记录这本我的一些读书的思考,内容可能...

【已解决】无法加载文件 about_Execution_Policies_AshleyScsy的博客-程序员ITS203

解决问题powerShell、CMD、command Prompt一开打就会报错:无法加载文件 about_Execution_Policies

动态规划专题结束总结_snayf的博客-程序员ITS203

随着这个专题的结束,还真有点不舍,作为班里一个菜鸟,从上课听子段和,上升序列基础题都费劲,到现在还算基本掌握动态规划思想,收获还是有的。       收获总结:其实后来发现动态规划就是要把具体问题分解,然后一步一步做,就像01背包,设出f[i][v]表示前i个物品放v空间的情况,首先要想到设出f[i][j]的意义,使他递推完后可以解决这个问题,其次可能难在要找出f[i][j]与其他f的关系,就

k8s容器编排总结_躺在床上打饱嗝的博客-程序员ITS203_k8s容器编排

学而时习之,不亦说乎。今天总结一下k8s。k8s(Kubernetes)作为容器编排生态圈中重要一员,是Google大规模容器管理系统borg的开源版本实现,它提供应用部署、维护、 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用。当前Kubernetes支持GCE、vShpere、CoreOS、OpenShift、Azure等平台,除此之外,也可以直接运行在物理机上。kubernetes是一个开放的容器调度管理平台,不限定任何一种言语,支持java/C++/go/python等各

随便推点

信息增益的介绍_Bonyin的博客-程序员ITS203_信息增益

在前面的两篇文章中我们介绍了信息熵和条件熵。信息熵代表的是随机变量的复杂度(不确定度)。条件熵代表的是在某一个条件下,随机变量的复杂度(不确定度)。现在信息增益=信息熵-条件熵。换句话说,信息增益代表了在一个条件下,信息复杂度减少的程度。在决策树算法中的关键问题时特征的选择,当有多个特征的时候,我们选择哪个特征来进行分类呢?或者是按照什么标准来选择特征呢?这个问题我们利用信...

转帖玩转12864液晶:3串行驱动_zhuhaishi的博客-程序员ITS203

<br />转自:http://blog.ednchina.com/tengjingshu/1394093/Message.aspx<br />玩转12864液晶:3串行驱动<br />        驱动芯片是ST7920的12864液晶电路连接有两种,并行方式和串行方式。通常使用并行方式,但有时候为了节省I/O线,可以使用串行方式,串行方式的传输字节的速率会比并行的慢。<br />    <br /><br />                                              

自定义基础之Draw过程_jxq1994的博客-程序员ITS203

绘制过程主要是把View对象绘制到屏幕上,并且如果该View是一个ViewGroup,则需要递归绘 制该ViewGroup中所包含的所有子视图。

二维数组与指针(详解)_dddjjj-sicnu的博客-程序员ITS203_二维数组与指针

一.2维数组1.二维数组的定义int a[3][3];在这我们定义了一个二维数组,拥有3行3列共9个int型存储空间大小。2.二维数组的行地址和各个元素地址的表示int a[3][4];对于数组a,我们可以将a[3][4]分为两部分理解a[3]和[4],对于a[3],我们可以看成是一个一维数组,其元素分别为a[0],a[1],a[2],他们分别表示各行所代表的起始地址,而对于[4]...

[C语言学习]作业十一_freshare的博客-程序员ITS203

题目:  1) 书164页习题1 两字符串拼接2) 书164页习题2 两字符串比较大小3) 10个城市对应20~29的长途区号,将用三种方法表示的数据分别两列输出,左边是区号,右边是城市名:city1[]={"Guangzhou,Shanghai,Tianjin,Chongqing,Shenyang,Nanjing,NO,Wuhan,Chengdu,Xi_an"}city2[][20]={"Gu

自己动手制作一个Chrome插件 入门级_拿我格子衫来的博客-程序员ITS203

我们创建一个文件夹 暂时叫做PoetryTab吧在其中创建一个manifest.json 和PoetryTab.html内容如下:manifest.json{ "manifest_version": 2, "name": "PoetryTab", "version": "1.0", "description": "PoetryTab:为你的浏览增加诗意", ...