分成加速服务的Web网站系统都能够在逻辑上划分为三个层次,即表现层、业务逻辑层和数据访问层,如图2-5所示,不同的层次在系统中有不同的功用。
分成加速服务是以Web方式为用户提供访问界面,主要负责接收用户的请求以及业务逻辑层处理结果的返回及展示;业务逻辑层主要是针对具体业务逻辑的处理,能够根据表现层传来的用户需求向数据访问层发出数据查询要求并将查询结果进行相应的整合,返回给表现层向用户展现;数据访问层主要是以数据库、文件系统等方式对原始数据进行保存和管理,并为业务逻辑层或表示层提供数据查询服务,如果开展呼叫中心业务,需要了解呼叫中心质量管理。
分成加速服务在一个Web系统中,不同类型的内容由不同的系统层保存和提供。通常与用户直接交互的表现层提供大部分静态内容,例如图片、Flash动画、多媒体文件以及部分静态网页片段等。而动态内容,就需要由业务逻辑层和数据访问层协作提供。其中,业务逻辑层是Web系统的核心层,负责处理所有的业务逻辑并生成动态内容。
了解了Web系统的分成加速服务架构以后,我们再回过头来看CDN的分类。CDN实现网页内容加速主要依赖于内容边缘缓存和功能复制两类机制,本质就是将Web源站各个层次上的功能转移到CDN边缘Cache上完成。根据CDN完成的不同层面的Web功能转移,将CDN分为表示层复制和全站复制两大类。
分成加速服务对于Web网站提供的各种类型的静态内容(不论是网页、文件还是流媒体数据),其加速都可以通过在边缘Cache上复制Web系统的表示层来完成。在实现中,CDN的Cache设备将以反向代理的角色接受用户发来的连接请求,然后在本地复制的数据表示层的静态数据中寻找满足用户需求的数据,直接反馈给用户。在Cache上命中的内容,则无须再向源站Web系统请求。这种情况下,Cache上缓存的内容通常是完整的Web内容实体,例如网页嵌入内容、多媒体文件等。现在大多数商用CDN系统采用的都是这类只处理静态内容请求的网站加速方案。