大数据工程师技术栈

核心提示上四节讲述了传输层,存储层,计算层,工具层 本节介绍最后一层 服务层服务层这层算是最贴近业务的核心服务层了,不管大公司还是小公司,都会在上面有所建树一、智能缓存这里主要讲以下几点:缓存能解决哪些问题?缓存技术都有哪些?缓存行业服务商都有哪些

上四节讲述了传输层,存储层,计算层,工具层 本节介绍最后一层 服务层

服务层

这层算是最贴近业务的核心服务层了,不管大公司还是小公司,都会在上面有所建树

一、智能缓存

这里主要讲以下几点:

缓存能解决哪些问题?缓存技术都有哪些?缓存行业服务商都有哪些?1.缓存能解决的问题

性能——将相应数据存储起来以避免数据的重复创建、处理和传输,可有效提高性能。比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度;稳定性——同一个应用中,对同一数据、逻辑功能和用户界面的多次请求时经常发生的。当用户基数很大时,如果每次请求都进行处理,消耗的资源是很大的浪费,也同时造成系统的不稳定。例如,web应用中,对一些静态页面的呈现内容进行缓存能有效的节省资源,提高稳定性。而缓存数据也能降低对数据库的访问次数,降低数据库的负担和提高数据库的服务能力;可用性——有时,提供数据信息的服务可能会意外停止,如果使用了缓存技术,可以在一定时间内仍正常提供对最终用户的支持,提高了系统的可用性。1)理解状态在深入介绍缓存技术之前,需要对状态有一个认识,因为缓存可以说是状态管理的框架。理解状态的含义和它的一些特性——比如生存期和生存范围——对决定是否缓存和选择合适的缓存技术有很大帮助。状态是指一些数据,在应用系统某个时间点上,数据的状态和条件。这些数据可能是永久性的存储在数据库中,可能是只在内存里停留一会,也可能是按照某个逻辑存活,它的应用范围可能是所有用户可访问,可能是单个用户有权限;

2)状态的生存期

生存期是指数据保持有效性的时间区间,也就是从创建到移除的时间间隔。通常的生存期有以下几种:

永久状态Permanent State——应用程序使用的永久数据;进程状态Process State——只在进程周期内有效;会话状态Session State——和特定的用户会话有关;消息状态Message State——处理某个消息的时间内有效;3)状态的范围状态的范围指对该状态有访问权限的物理或逻辑范围。

物理范围指可以被访问到的状态数据存放的物理位置,通常包括:① 组织Organization——在一个组织内的所有应用程序可以访问状态数据;

② 场Farm——在应用场范围内的任何机器上都可以访问;

③ 机器Machine——单个机器范围内可以访问;

④ 进程Process——进程内的访问许可;

⑤ 应用域AppDomain——应用程序域内的访问许可。

逻辑范围指可访问状态数据的逻辑范围,常见的有:① 应用程序Application;

② 业务流程Business Process;

③ 角色Role;

④ 用户User;

4)状态数据的陈旧

缓存的状态数据只是主数据的快照,由于数据源可能被修改,所以状态数据就有会陈旧的特性。合理利用此特性和将数据陈旧的负面影响最小化是缓存状态数据的一个重要任务。你可以以一下方式定义数据的陈旧依据:

主数据更改的可能性——随着时间的推进,主数据更改的可能是否大大增加?安照这一点来决定缓存状态数据的陈旧;更改的相关性——主数据更新时,缓存的状态数据不相应更新是不是造成影响系统的使用?比如,更改系统的外观风格并不会对业务造成很大影响。5)状态数据陈旧的容忍度缓存状态数据的陈旧对业务流程的影响称为容忍度,应用系统的可以为不能容忍和一定程度的容忍,前者必须和主数据同步更新,后者允许一定时间或一定范围的陈旧,判断标准就是对业务流程的影响度。

6) 理解状态数据的转换过程

状态的另一个属性是在不同阶段的表现形式。在数据库中存储的是原始格式的数据,业务流程中的是处理过的数据,给最终用户呈现的则是另外的形式。如下表所示:

理解状态数据的转换过程

当决定缓存数据时,应该考虑缓存哪个阶段的状态数据。以下方针有助于你做决定:

当业务逻辑可以容忍缓存数据的陈旧时就缓存原始数据;原始数据可以缓存在数据库访问组件和服务代理中;缓存处理过的数据以减少处理时间和资源;处理过的数据可以缓存在业务逻辑组件和服务接口中。7) 为什么要缓存数据

在应用程序中缓存数据有以下好处:

减少交互的通讯量——缓存数据能有效减少在进程和机器间的传输量;降低系统中的处理量——减少处理次数;降低需要做的磁盘访问次数——比如缓存在内存中的数据。8) 数据应该被缓存在哪里

缓存数据只是一份主数据的拷贝,它可能在内存中或以不同的表现形式保存在硬盘上,也就是说,离说句的使用者越近越好。所以,除了考虑要缓存哪些数据以外,数据缓存在哪里也是一个主要的考量点。这个问题分为以下两个范围:

① 存储类型Storage Type——数据可用的物理存储位置;

② 层间的架构元素——数据可用的逻辑存储位置。

9)存储类型

缓存有很多实现方法,所有这些可以被分为两类,基于内存的缓存和基于磁盘的缓存:

① 内存驻留缓存——包含在内存中临时存储数据的所有实现方法,通常在以下情况下使用:

a) 应用程序频繁使用同样的数据;

b) 应用程序需要经常获取数据;

通过将数据保留在内存中,你可以有效降低昂贵的磁盘访问操作,也可以通过将数据保留在使用者进程中来最大程度的减少跨进程的数据传输。

② 磁盘驻留缓存——这种技术包含所有使用磁盘作为存储介质的缓存技术,如文件和数据库。在以下情况下基于磁盘的缓存是很有效的:

a) 处理大数据量时;

b) 应用服务提供的数据可能并不是总能使用;

c) 缓存的数据必须能在进程回收和机器重启的情况下保持有效;

通过缓存处理过的数据,你可以有效降低数据处理的负担,同时可减少数据交互的代价。

2.缓存技术都有哪些?

说起缓存相关技术,老多了, memcache、redis、squid、varnish、web cache、 CDN等等。缓存技术五花八门,但这些技术间有什么共性的地方,又有什么不同的地方呢?答案肯定是有的,这次为大家分享及整理一下缓存方面的技术,主要分为三个系列展开:

数据库缓存静态缓存动态缓存数据库缓存

1)什么是数据库缓存

我们知道常见的数据库,比如oracle、mysql等,数据都是存放在磁盘中。虽然在数据库层也做了对应的缓存,但这种数据库层次的缓存一般针对的是查询内容,而且粒度也太小,一般只有表中数据没有变更的时候,数据库对应的cache才发挥了作用。但这并不能减少业务系统对数据库产生的增、删、查、改的庞大IO压力。所以数据库缓存技术在此诞生,实现热点数据的高速缓存,提高应用的响应速度,极大缓解后端数据库的压力。

以下为memcache数据库缓存为例,以图说明一下什么是数据库缓存:

memcache架构

2)数据库缓存的技术特点

性能优越数据库缓存的第一个技术特点就是提高性能,所以数据库缓存的数据基本上都是存储在内存中,相比io读写的速度,数据访问快速返回。而且在mysql 5.6的版本开始,已经把memcache这种跟数据库缓存直接挂钩的中间件直接集成进去了,已经等不及我们自己去单独部署对应数据库缓存的中间件了。

应用场景针对数据库的增、删、查、改,数据库缓存技术应用场景绝大部分针对的是“查”的场景。比如,一篇经常访问的帖子/文章/新闻、热门商品的描述信息、好友评论/留言等。因为在常见的应用中,数据库层次的压力有80%的是查询,20%的才是数据的变更操作。所以绝大部分的应用场景的还是“查”缓存。当然,“增、删、改”的场景也是有的。比如,一篇文章访问的次数,不可能每访问一次,我们就去数据库里面加一次吧?这种时候,我们一般“增”场景的缓存就必不可少。否则,一篇文章被访问了十万次,代码层次不会还去做十万次的数据库操作吧。

数据一致性在很多应用场景中,当一个数据发生变更的时候,很多人在考虑怎么样确保缓存数据和数据库中数据保存一致性,确保从缓存读取的数据是最新的。甚至,有人在对应数据变更的时候,先更新数据库,然后再去更新缓存。我觉得这个考虑不太现实,一方面这会导致代码层次逻辑变得复杂,另外一方面也真想不明白还要缓存干什么了。在绝大多数的应用中,缓存中的数据和数据库中的数据是不一致的。即,我们牺牲了实时性换回了访问速度。比如,一篇经常访问的帖子,可能这篇帖子已经在数据库层次进行了变更。而我们每次访问的时候,读取的都是缓存中的数据。既然是缓存,那么必然是对实时性可以有一定的容忍度的数据,容忍度的时间可以是5分钟,也可以是5小时,取决于业务场景的要求。相反,一定要求是实时性的数据库,就不应该从缓存里读取,比如库存,再比如价格。

高可用自从有了缓存,代码每天快乐的去缓存中愉快的玩耍。为什么说高可用呢,我们知道缓存为数据库抵挡了很多压力,同时也为应用提供了良好的访问速度。但同时有没有想过缓存的感受,如果当数据库缓存“罢工”了,这会出现什么后果?特别在一些高并发的应用中,数据库层肯定是“消化不良“,最终导致应用全面崩溃。所以缓存的高可用显得非常重要。

3)数据库缓存常见开源技术

要说用于数据库缓存场景的开源技术,那必然是memcache和redis这两个中间件。因为都是专注于内存缓存领域,memcache和redis向来都有争议。比如性能,到底是memcache性能好,还是redis性能更好等。同样都是内存缓存技术,它们都有自己的技术特性。没有更好的技术,只有更合适的技术。个人总结一下,有持久化需求或者对数据结构和处理有高级要求的应用,选择redis。其他简单的key/value存储,选择memcache。所以根据自身业务特性,数据库缓存来选择适合自己的技术。

各种缓存技术对比

静态缓存

说起静态缓存技术,CDN是经典代表之作。静态缓存技术面非常广,涉及的开源技术包含apache、Lighttpd、nginx、varnish、squid等。

静态缓存,一般指 web 类应用中,将图片、js、css、视频、html等静态文件/资源通过磁盘/内存等缓存方式,提高资源响应方式,减少服务器压力/资源开销的一门缓存技术。

本文主要通过:浏览器缓存、磁盘缓存、内存缓存、nginx的内存缓存、CDN五个方面围绕静态缓存而展开。

1)浏览器缓存

浏览器缓存,也称为客户端缓存,是静态缓存中最常见最直接的表现形式,很多时候都往往被人忽略掉。

案例1:

我们经常在nginx的配置文件中看到以下缓存配置:

nginx的配置文件

案例2:

在经常写 jsp 的时候,html 标签中关于 http 头信息也可以注意到“ expires ”的字样:

对于案例1和案例2中,expires是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量。此种方法非常适合不经常变动的资源。如果文件变动较频繁,就不要使用 expires 来缓存。

比如对于常见类web网站来说,css 样式和 js 脚本基本已经定型,所以最适合的方法是 expires 来缓存一些内容到访问者浏览器。

案例3:

通过 chrome 访问服务器端的一张图片,用F12键打开开发者前端调试工具:

第一次访问,响应200状态,当第二次及后续访问的时候,变成304状态,客户端已经开始获取浏览器缓存内容,而不需要去服务器端获取对应的请求内容,即 nginx 中 expires 参数设置已经生效。等待客户端缓存时间过期后,会再次请求服务器端内容来更新本地缓存。

介绍到这里,突然想起一个有意思的需求。比如,访问一张静态文件,不想客户端缓存,需要每次都去服务器端取数据。我们可以用“ last-modified ”参数来实现,即“ last-modified ”是根据文件更新时间来确定是否再次发送加载。

Nginx核心配置如下:

我们更改掉服务器传回客户端的“ last-modified ”文件修改时间参数的值,这样导致客户端本地保存的文件时间每次跟服务器端传回来的时间不一致,所以每次客户端“ 误认为 ”服务器端有静态文件更新,每次都会去服务器端取“ 所谓的最新数据 ”。这样我们可以看到,不管在浏览器访问多少次,返回的 http 状态都是200,再也找不到304状态了。

误区:在 nginx 中设置 expires,并不是指把静态内容缓存在 nginx 中,而是设置客户端浏览器缓存的时间,这是很多人的误区所在。

2)磁盘缓存

除了存储在客户端的静态缓存技术外,在服务器端的静态缓存技术主要分为磁盘缓存和内存缓存两大类。单纯围绕 nginx 的 squid、varnish 等一类中间件,处理静态数据的性能十分优秀。核心是 nginx 基于 epoll 网络模型,而相比 apache 基于 select 网络模型。所以 apache 的优势在于密计算型,稳定性好。而 nginx 偏向静态处理,反向代理,高并发。比如 apache+php 的稳定性比 nginx+php 要好,而性能是明显 nginx 要优秀许多。

以上仅单纯是对磁盘中静态数据处理的能力,所谓磁盘缓存,指另外的一种缓存静态文件的技术。以 nginx 配置为例:

可以看出 nginx 主要通过 proxy_cache 来实现 web cache,熟悉 nginx 的同学,不难看出,以上配置在 location 这里,不仅可以实现静态文件的缓存,还可以实现动态文件的缓存。我们编写个 test.html测试文件,然后并访问。test.html 源码如下:

我们发现服务器的 cache 目录里面,多了两个缓存文件:

有意思的,这两个文件里面的内容分别为:

所以不难看出,nginx 把 html 内容和图片二进制全部缓存到本地磁盘上了。下次用户再次来访问 test.html 的时候,nginx 直接将缓存在本地磁盘的文件返回给用户。特别是后端如若是部署的 tomcat、iis 等,nginx 强大的静态缓存能力,有效减少了服务器压力。

3)内存缓存

紧接上面描述的磁盘缓存,内存缓存顾名思义,就是把静态文件缓存在服务器端的内存中。所以这种缓存,如若命中缓存的话,取内存中的缓存数据返回比取磁盘中的缓存数据返回,性能要高很多。以 varnish 为例,varnish 核心配置如下:

启动命令:

参数简介:

default.vcl核心配置如下:

Varnish对.gif、.jpg、.jpeg、.png等结尾的 URL 缓存时间设置1小时。varnish设置完毕后,我们用命令行方式,通过查看网页头来查看命中情况:

最后,我们可以通过 varnishadm 命令来清理缓存,也可以通过 varnishstat 命令来查看 varnish 系统缓存状态。

4)Nginx 的内存缓存

以上主要以 Varnish 为例,介绍了内存缓存静态资源的方法。其实 nginx 也有内存缓存,相比 squid、varnish 而言,nginx 的内存缓存需要通过编码实现。如下配置:

memcached_pass 指定服务器地址,使用变量 $memcache_key 为 key 查询值,去 memcache 查询对应 value 值。

如我们访问:http:/image/test.jpg ,则 nginx 去 memcache 中查询key 为“ test.jpg ”的 value 值并返回。如果没有相应的值,则返回 error_page 404。介绍到这里,关键在于存储在 memcache 中的静态文件,需要通过代码写入 memcache 中。怎么样通过 php/java 等代码把静态资源的数据写入 memcache 中,关于这块的示例就不再过多介绍了。

Nginx的内存缓存因为需要通过编码实现,所以灵活性特别高。这块可以结合自身业务系统的特点,让静态缓存的灵活性和效率都能得到保障。可能唯一的缺陷就是,通过编码实现的方式,给我们维护管理带来了负担。在之前我曾参与的一个电商系统,就是把客户的订单照片通过 php 代码写入 memcache,客户访问取图的时候,从 memcache 中获取,速度效率特别高。Nginx 作为一款在七层无所不能且轻量级高性能的中间件,能够直接去 memcache 中取数据,来实现静态缓存的效果,这块相应的功能是其他软件无法相媲美的。

5)CDN

说起 CDN,大家都不陌生,它是静态缓存加速最典型的代表。CDN技术并不是一门新的技术,它是基于传统 nginx、squid、varnish 等 web 缓存技术,结合 DNS 智能解析的静态缓存加速技术。值得注意的是,他对动态链接访问并没有加速效果。架构原理图如下:

CDN架构

所以CDN的静态缓存技术核心主要在于两点:

节点缓存:对需要加速的网站应用,相应的静态资源通过内存缓存+磁盘缓存的方式缓存在服务器端。

动态缓存

何为动态缓存?即对动态页面的缓存。如,对 .do、.jsp、.asp/.aspx、.php、.js等动态页面缓存。可以看出,动态页面一般都会涉及动态计算、数据库缓存、数据库操作,所以每一次访问同一个页面,所获得的数据可能都有所不同。所以如若对数据及时性要求较高的应用,可能不太适合动态缓存。比如,对一个动态页面缓存了半个小时,用户请求访问该动态页面,返回缓存中的数据。很有可能,缓存中的页面数据即半个小时前缓存的页面数据状态。所以,动态缓存,是牺牲数据的及时性换取性能的技术。具体缓存设置多长时间,这个根据业务情况而来。

1)nginx动态缓存的原理概要

nginx的动态缓存主要通过反向代理实现,所以基本上可以实现所有动态页面的缓存,当然静态页面也能缓存。架构原理图

Nginx反向代理

如上图所示,nginx做负载均衡反向代理,将用户请求转发至后端服务器。我们可以在nginx这层根据规则设置动态/静态缓存,即每次客户请求,直接由nginx将缓存数据返回,而不用再到后端获取响应数据。Nginx动态缓存核心配置:

以上配置在上一篇介绍静态缓存的时候,有看到类似配置。其实对于nginx而言,动态缓存和静态缓存的配置基本一致。唯一的区别就是,静态缓存的location配置中,正则匹配的是静态访问请求。而动态缓存的location配置中,正则匹配的是动态访问请求。

2)Nginx对jsp的动态缓存

在MyEclipse中,新建一个test的web项目,然后在默认的index.jsp中简单输出测试文字、当前日期 及一张图片。index.jsp测试代码明细:

然后我们部署到tomcat中,且前端用nginx做反向代理,部署结构如下图:

为了测试方便,在后端仅部署了一台test tomcat。Nginx反向代理的配置如下:

每次刷新浏览器我们可以看到显示的时间都是不一样的:

然后我们对jsp进行动态缓存,核心配置如下图:

这个时候我们通过浏览器访问对应jsp的页面,我们可以看到每次访问,页面显示的时间是一模一样的,由此可见我们nginx的动态缓存功能已经实现。

我们在nginx的服务器中缓存目录可以看到针对刚才访问jsp的缓存文件,直到缓存时间到期,nginx将会一直将存放本地缓存的磁盘文件内容,作为response返回给客户端请求

3)Nginx对php的动态缓存

Nginx 对php的动态缓存,和Nginx对jsp的动态缓存配置基本一致,唯一不同的是才location中匹配php类型即可。由于篇幅有限,nginx对php的缓存就不再细节性的介绍。

4)php的动态缓存

除了nginx的动态缓存外,php也有自带缓存来实现动态缓存。实现原理架构图如下图:

Nginx的核心配置如下,值得注意的是,这里不需要通过反向代理来设置。是通过FastCGI自带的缓存来实现配:

Php的测试代码如下:

通过浏览器多次访问我们的test.php页面,所以看到此页面的内容是不变的:

同时我们在服务器中可以看到存放在磁盘中的缓存文件:

直接缓存到期,或者我们手动清理缓存文件,则客户端才会收到最新的数据返回,否则将返回本地缓存的数据。

3.缓存行业服务商都有哪些?

云服务商

随着在线视频、文件分享、P2P等应用越来越广泛,其流量已经占据了骨干网络80%以上的带宽,现有及未来可预见增长的带宽已经远不能满足这些大流量、持续占用带宽的应用对骨干网络带宽的需求。无序、不可控的P2P流量泛滥,无休止的骨干网带宽扩容,用户体验降低导致用户流失等一系列问题,向运营商提出了严峻的挑战。

而内容加速系统可以帮助社区带宽/广电/无线运营商以较低的投入提供更大的服务容量,降低带宽运营成本,在激烈的市场中获得优势。以下整理的国内10大cache技术处理厂商的介绍

1)技术点分析

CDN:CDN是个网络,即内容分发网络,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层虚拟网络。CDN系统能够根据到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,主要目标对象是ICP。缓存加速产品:缓存加速是个产品或系统,简称Cache产品,通过侦测用户的请求提取热门资源,然后下载并缓存到本地,为后续的用户提供加速服务,产品目标对象是ISP。CDN加速与缓存加速概念就不同,但CDN加速与缓存加速并非完全不同,把用户要访问的内容放到距离用户最近的地方,缩短访问距离,提升用户体验。这一点还是相同的。

2)国内缓存技术处理服务商

缓存大师缓存大师是广州网纵信息技术有限公司的创新技术与专利产品之一,该公司专注于网络接入、管理、优化领域, 为用户提供先进、可靠稳定的网络系统与解决方案。缓存大师能将外网流量内网化,分担出口带宽压力,节约带宽扩容费用。用户直接从访问缓存服务器的热点资源,享受内网网速,提升用户网络体验。够针对网络视频、http下载、网页图片、应用商店、APP下载、网络音乐等进行智能缓存。实现热点资源本地化读取,不仅为用户提供极速体验,还因为削减重复数据流和低价值流量,节省出口带宽资源。缓存大师目前已经在国内外上千家运营商、高校、ISP的宽带网络中进行了部署,取得了良好的实际应用效果,通常情况下,宽带的承载能力提高至少20%,用户下载速度提高4倍以上。缓存大师应用了多项创新技术,运行可靠稳定,部署灵活快速,可采用通用高性能服务器支持部署;采用旁路部署,不改变原有网络结构,不产生单点故障,在增加用户上网感受的同时,不会对网络造成任何安全隐患。蓝汛蓝汛成立于1998年,是中国专业的互联网基础服务提供商,致力于为客户提供高速、稳定的互联网服务。于2010年10月1日纳斯达克上市。内容缓存产品CPIS和手机应用缓存i-MIS是它的2个主要的缓存产品,内容缓存产品 CPIS能实现对于热点内容的网内缓存,有效降低网间结算支出,而手机应用缓存 i-MIS终端访问感知能针对不同类型的终端根据终端类型、分辨率等信息完成内容适配。针对运营商,依靠蓝汛整体CDN网络系统的监测和分析,对运营商网内有效的热点内容做到主动推送或网内缓存,实现热点内容运营商网内获取一份多份复用,进而缩短终端对静态数据的访问路径,提升用户的访问体验,缓解大量热点内容访问对互联带宽的压力,有效降低网间结算支出。从客户感知、业务发展、差异化服务诉求等方面考虑,结合运营商自身的实际,切实打造体系化的内容资源优化解决方案,旨在帮助运营商改善终端用户体验,提升数据运营竞争力,打造智能化数据管道以应对未来的业务飞速发展的需求。网宿网宿科技始创于2000年1月,主要提供互联网内容分发与加速、云计算、云安全、全球分布式数据中心 等服务。网宿科技目前已经申请包括国内和国际发明专利600多件,内容涉及到协议加速、移动加速、应用加速、流媒体直播点播加速、流量管理、云安全、云存储、缓存传输、分布传输、宽带接入、智能路由等 CDN 及云计算行业领先技术。CATM是网宿科技整合多年开发成果和运营经验的结晶,面向运营商开发的产品。该产品能够缓解网络出口带宽压力、优化和管理网络内容、提升用户体验,以达到降低网间结算成本、节约网络投资、提升用户ARPU 值的目的。CATM的灵活流量引导机制既支持诸如DNS重定向、302重定向、P2P重定向等方式,也适用于DNS 域名转发这类流量引导机制。CATM有多种缓存方式选择,支持WebCache/P2PCache 业务应用,而且能全方位的运营监控,可视化精细化的运营监控系统,实时监控查询运营数据。CATM的优势主要体现在:提升网内互联网用户体验、缓解网络出口带宽压力与结算成本、增加 ARPU 值,降低运营商成本和设备投入、实时监控报表分析,对内容进行有效管控、降低运营风险。帝联2005年,上海帝联信息科技发展有限公司总部位于上海,并先后在上海、北京、广州、深圳、成都、南通、长沙等地建立了分支机构及自主科研基地,公司业务涵盖传统互联网、移动互联网、金融证券、政府企事业、教育、医疗等多个领域。帝联公司针对各运营商现网情况进行系统研究,基于对互联网用户行为的理解和深度分析,汇总了目前运营商在Cache优化系统建设上的需求:平衡压力的需求:针对既有的Cache系统,需要进行扩容及覆盖策略优化,升级多点或多层次Cache系统架构,平衡、分担访问压力。流量进一步本地化的需求:在原有Cache系统基础上,进一步优化访问调度机制,促进 P2P 本地互联,引入 P4P 手段,进一步提升流量本地化。面向移动网络访问的优化需求:优化各类 mobile phone、 pad 等移动终端通过移动网络访问内容资源过程的需求,提升移动用户的访问感知。向运营商网内引入优质的互联网内容资源,增加运营商网内可用内容资源的数量、类型,提升终端接入用户访问常用内容时的客户体验;分担、降低运营商出口及第三方链路的扩容压力,提升带宽利用率,减少互联互通流量结算带来的高昂成本。该Cache优化系统支持通过URL 中参数进行灵活限速功能的开启和关闭。同时,为保障播放效果保障视频下载初期速度,可以支持对视频文件前3M不限速。

广达新网广达QCache互联网缓存系统方案采用旁路方式部署,不改变现有网络结构,不影响现有网络性能。采用在出口下的核心交换机或BRAS设备旁挂缓存设备的方式,通过核心交换机上联互联网出口端口镜像将流量引向缓存设备。广达QCache缓存通过热点算法,把热点资源缓存在本地,用户访问热点资源时,直接从本地读取,大幅提高了用户的上网感受;支持智能主动缓存,在网络低峰期,带宽大量闲置,利用这段时间下载热点资源,有效的利用了带宽资原。而且广达QCache缓存主动扫描热点门户页面,自动更新、无需人工维护,提供热点视频、移动应用的呈现和下载,并引导用户使用己下载资源,节省带宽,提高用户感受。不仅如此,广达QCache借助于运营商内网的传输优势,用户在获取资源时回避了出口互联互通影响,可大幅度缩短资源下载的等待时长、提高视频观看流畅度,而且能有效的节约扩容互联网出口带宽的昂贵费用。广达QCache缓存系统已在广元、广安、攀枝花、西昌、成都、枣庄、宁夏等全国各地广电部署应用,通过消减重复访问和低价值流量,减少50%以上的带宽需求,达到降低网间流量和改善用户上网体验的双重价值,通过疏堵结合,缓解网络出口压力,延缓骨干网带宽扩容速度。并实现部分互联网内容的汇聚和积累,深入挖掘用户需求,为未来的增值运营提供基础。网元未来北京网元未来技术有限公司目前已建立覆盖全国的骨干传输网,实现数据提供、聚合、分发,同时提供综合业务平台接口,方便接驳、植入各种主流及发展性的应用类业务平台。网元未来的缓存产品为cache+,它可以缓存大文件、小文件、P2P三种类型的文件。大文件是指网页中的视频、软件下载等比较大的文件,小文件是指网页中较小的图片、广告等,P2P是指电驴、迅雷、PPS等P2P类型的流量。cache+的优势主要体现在:部署简单,无需更改运营商网络;高效率;各模块耦合度低,部署适用范围广和高安全性这4个方面。领快网络领快网络技术有限公司是一家专业从事互联网创新的企业,公司始终坚持"创新,品质,服务,敬业,感恩",目前公司主要产品包含商业无线和大数据智能缓存。领快网络的缓存产品主要优势功能在于支持HTTP协议的缓存,涵盖多达30多个热门网站,并且支持移动端设备,包括电视机顶盒、手机、IPAD等设备的缓存功能,而且完美支持P2P缓存爱奇艺、PPS、优酷、你想缓,就能存,最后就是智能化管理下载,避开高峰宽带压力,利用空闲时段宽带,缓存下载最新数据。网众

海网众信息技术有限公司成立于2004年,是国内领先的虚拟磁盘系统服务商;主要从事计算机网络产品设计、研发、生产和代理销售, 已形成以产品研发、网络工程和技术服务为主体,为国内少数在Windows和Linux双平台下提供虚拟磁盘系统、无盘终端、云磁盘、云计算、七层流控、网众快车等产品的完整解决方案的高新技术企业。

CBD城域网云磁盘系统是网众的产品之一,它的优势主要体现在客户机缓存机制上。

CBD城域网云磁盘系统运用网众Linux系统及高效的三级客户机缓存机制,使得一台服务器的读取带机量可以达到难以想象的三千台以上,带机量是虚拟化软件的100-200倍。而且根据接入云服务的客户机数量随时增减回写服务器的数量,以达到按需配置的要求,客户机回写缓存机制,极大的降低了云服务端的回写数据压力,回写服务器的配置要求极低。

中兴通信随着移动互联网的高速发展,互联网业务所占的比重越来越高,互联网的出口带宽也成为某些运营商的发展瓶颈,为此中兴提出了ZXUN iCG内容缓存解决方案帮助运营商应对这一挑战,提供针对热点内容和多种协议的缓存,提高用户访问速度,节省Internet出口带宽。

中兴通讯缓存产品ZXUN iCG 是针对移动互联网流量趋势研发的产品,在用户与网络间增加了缓存层,并将网络热点内容推动到距离用户“一公里”的缓存层,由此规避了用户访问网络热点时的原站瓶颈问题,跨运营商带宽限制,长途传输带宽以及时延问题,可以极大的提高用户访问体验,并减轻运营商的骨干网扩容压力与互联网出口压力,实现运营商和用户的双赢。

ZXUN iCG是全透明HTTP Cache工作方式。既用户感觉不到在用户与源网站之间Cache服务器的存在。并且这种工作方式不违背DCMA版权法,而且ZXUN iCG支持各种私有的P2P协议,包括迅雷,PPS, PPTV等。

A10作为全球应用网络领导者,A10 Networks为不同规模的客户提供了一系列高能效的应用网络解决方案,为全球数以千计的运营商、互联网巨头和跨国企业的数据中心打造了“应用可达”、“应用加速”和“应用安全”的网络。

A10 Networks应用交付产品和应用缓存/代理设备组成的透明缓存综合系统,在互联网出口核心路由器配置策略路由,将需要缓存的流量牵引到A10 Networks应用交付产品上,由其利用应用层HTTP URL哈希分发策略选择后端的缓存设备,实现缓存设备的负载均衡和冗余切换,节省互联网出口的带宽占用,提升用户端的应用响应速度。

二、事件分析

三、数据服务

四、数据挖掘

五、智能算法

以上二——五 会在后续章节详谈

 
友情链接
鄂ICP备19019357号-22