不知道你们是否也有疑问,至少在这篇文章之前我还是混淆的,那么到底负载均衡和CDN有什么区别呢?跟我一样不懂的来一起探索,老司机出门右拐,不送~~~
首先什么是负载均衡(load balance)
举个例子:领导交给我好多项任务,但是我发现怎么安排时间也做不完,于是乎我就盯上了在旁边偷偷看电影的小李,李突然觉得背后有一股凉气,一回头我正在一脸坏笑看着他,“这几个任务交给你,晚上请你吃饭,要不然…嘿嘿嘿”,小李虽然不情愿,但是在我的请求(要挟)下,只能服从。第二天,我顺利的完成了任务,给小李买了包辣条。
名词:负载均衡器(Load Balancer),负载均衡器通常作为独立的硬件置于客户端与服务器之间。
负载均衡设备拥有非常好的负载均衡性能,他拥有众多的负载均衡策略(权重,动态比率,最快模式,最小连接数等),可以保证以相对较优的方式分配请求,不过好的东西总是有代价的,那就是价格,一台负载均衡器的售价往往高达十几万甚至几十万,许多企业并不愿意为它买单。
其次什么是内容分发网络(CDN)
视频总在缓冲,图片各种加载不出来,几年前是再正常不过的事了,在当时大家也没觉得是回事,但把这种情况放在现在,我想人们绝对直接就小红叉了吧,那么我们如何避免这样的情况呢?这就是我要说的,内容分发网络(Content Delivery Network),简称:CDN。
CDN简单的来说就是存储一些静态文件的一台或多台服务器,通过复制,缓存等方式,将文件保存其中。
1.哪些是静态文件?
css,html,图片,媒体都属于静态文件,也就是说用户发送的请求不会影响静态文件的内容,而jsp,php等文件就不属于静态文件,因为他们的内容会因我们的请求而发生改变。
2.CDN如何实现加速?
通常情况下,我们所要的数据都是从主服务器中获取,但假如我们的主服务器在南方,而访问用户在北方,那么访问速度就会相对变慢,变慢的原因有很多,例如传输距离,运营商,带宽等等因素,而使用CDN技术的话,我们会将CDN节点分布在各地,当用户发送请求到达服务器时,服务器会根据用户的区域信息,为用户分配最近的CDN服务器。
3.CDN数据从哪里来?
复制,缓存,CDN服务器可以在用户请求后缓存文件,也可以主动抓取主服务器内容。
分布在各地的CDNS(效果图):
当然,这是我转载的文章并非我写的,不过能解决问题的文章就是好文章,你说呢?