缓存服务器-程序员宅基地

缓存指的是将需要频繁访问的网络内容存放在离用户较近、访问速度更快的系统中,以提高内容访问速度的一种技术。缓存服务器就是存放频繁访问内容的服务器。
缓存提供了比将访问对象放在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

智能推荐

团队作业8----第二次项目冲刺(Beta阶段) 第三天-程序员宅基地

文章浏览阅读91次。冲刺第三天一、Daily Scrum Meeting照片二、每个人的工作1.昨天已完成的任务。昨天完成服务器上的数据库部署与Json数据传输2.今天计划完成的任务。今天计划完成安卓手机登入功能3.工作中遇到的困难。Json传输格式与数据库链接,进行了查询和学习。4.每个人的贡献比。余洋(201421123031):15%..._黄子敬 php

[ScreenOS] How to manually generate a new system self-signed certificate to replace the expired syst...-程序员宅基地

文章浏览阅读93次。SUMMARY:This article provides information on how to manually generate a new system self-signed certificate to replace the expired system self-signed certificate, without resetting the firewall...._the security key has expired, please generate a new key.是什么意思怎么解决

Python 利用matplotlib绘制热力图 correlation heatmap X,Y 坐标轴字体重叠显示问题,将字体进行旋转_热力图 x轴y轴字体显示-程序员宅基地

文章浏览阅读2.6w次,点赞18次,收藏51次。# 小白学习之路1.问题描述: 在学习kaggle经典学习项目Titanic,进行数据可视化处理时,对于每个特征进行相关性分析(也就是绘制pearson correlation heatmap )热力相关性矩阵时, plt.show() 图形绘制出来,字体会重叠.导致无法观察# Visualisations"""将数据进行可视化"""print(train.h..._热力图 x轴y轴字体显示

无迹卡尔曼滤波详细介绍及仿真-程序员宅基地

文章浏览阅读929次。无迹卡尔曼滤波UKF算法及源码_无迹卡尔曼滤波

DVWA——Brute force(low)_dvwa brute force一直都是impossible-程序员宅基地

文章浏览阅读527次。Brute force——暴力破解界面:源代码:<?phpif(isset($_GET['Login'])){//Getusername$user=$_GET['username'];//Getpassword$pass=$_GET['password'];$pass=md5($pass);//Checkthedatabase$query="SELECT*FROM`users`WHEREuser='$user'ANDpassword='$pass';";$result=_dvwa brute force一直都是impossible

Java使用Jaudiotagger读取Mp3及Flac音频操作-程序员宅基地

文章浏览阅读2.5k次。Jaudiotagger是jid3lib的扩展,比jlid3lib强大更多,支持更多格式。MP3信息的读取: try { MP3File file = new MP3File("mmt/sdcard2/Music/大艺术家.mp3"); String songName=file.getID3v2Tag().frameMap.get("TIT2").toString(..._org.jaudiotagger

随便推点

映美精相机软触发_c# 映美精相机-程序员宅基地

文章浏览阅读3.2k次。映美精 DFK 41BG02.H分辨率 1280X960最大帧率15采用C#编程,使用软件触发模式。触发1次,到ImageAvalible事件发生,记录其时间为96毫秒附近波动。手动计算时间如下: 像素个数:1280 * 960= 1,228,800RGB格式,1个像素3个Byte来表示,其字节数: 1,228,800 * 3 = 3686400相机处理后,读出时间1000 /_c# 映美精相机

蓝桥杯Python B组练习——斐波那契数列_python中b组蓝桥杯斐波那契与7代码及思路-程序员宅基地

文章浏览阅读539次,点赞9次,收藏7次。定义斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)定义来源于百度百科:斐波那契数列求100以内的斐波那契数列。_python中b组蓝桥杯斐波那契与7代码及思路

对PECompact加壳的DLL脱壳的一点分析_pecompact dll脱壳-程序员宅基地

文章浏览阅读2k次。目前,我对DLL的脱壳的了解也不多,相信有些地方会和对EXE的脱壳大致相同。现在我知道的主要不同是必须要在DLL的空间开始跟踪。否则从EXE开始跟踪,那还不把人累死。另外 ProcDump 和 PEditor 之类的工具好象还无法自动修复DLL的import table。唉,又是手动,什么时候有个DLL的脱壳机出现呢? ou,别看我!我编程的水平三流,写不出那些好东东。 样例文件: dlcsp_pecompact dll脱壳

算法实习准备之五:算法岗面试整理_算法岗实习准备-程序员宅基地

文章浏览阅读496次。算法实习准备之五算法岗面试整理CVFaster-RCNNCNN卷积池化全连接层反向传播LSTMAttentionTranformer机器学习算法线性回归LRSVM优化方法梯度下降法正则化NLPword2vecBert算法岗面试整理CVFaster-RCNNCNN卷积解释卷积层的最佳方法是想象有一束手电筒光正从图像的左上角照过。假设手电筒光可以覆盖 5 x 5 的区域,想象一下手电筒光照过输入图像的所有区域。在机器学习术语中,这束手电筒被叫做过滤器(filter,有时候也被称为神经元(neuron_算法岗实习准备

C#背单词小程序-程序员宅基地

文章浏览阅读2.7k次,点赞6次,收藏46次。这一讲是关于文件及流的操作。我们来做一个综合但不太复杂的程序"背单词"。要求如下:(4分)能将英语四级单词文本文件的内容读出来及放到内存的数组或列表中(使用StreamReader的循环读ReadLine()或直接ReadToEnd(), 然后用string的Split(’\n’)分割成多行;然后对每一行Trim().Split(’\t’)得到的string[]的第0个即为英语单词,第1个即为...

MFC中使用post提交form-data上传文件_mfc使用post-程序员宅基地

文章浏览阅读2k次,点赞3次,收藏6次。已经有将近6年时间没写过MFC了,想想以前我也是写VC++入门程序开发的,那时候写协议栈、搞语音编码、做视频压缩和实时数据传输,相比现在更多偏业务的开发,那时候搞得都是非常技术的东西。眨眼间,MFC已经退出舞台,就连微软也在主推C#.net,曾经风光无限的MFC开发现如今已经几乎消失;ActiveX有webSocket替代,MFC桌面应用程序也由更简单友好的C#取代,而软件开发的趋势早已经从传统的..._mfc使用post