随着互联网的不断发展,越来越多的程序员都开始学习web应用架构等方面的相关技术知识,而今天我们就通过案例分析来了解一下,高性能web架构常见应用服务都有哪些。
一、反向代理服务
位于web三层构架外层的反向代理服务器负责接受用户的接入请求,在实际应用中,代理服务器通常至少还要完成以下列表中的一部分任务:
连接管理:分别维护客户端和应用服务器的连接池,管理并关闭已超时的长连接。
攻击检测和安全隔离:由于反向代理服务无需完成任何动态页面生成任务,所有与业务逻辑相关的请求都转发至后端应用服务器处理。因此反向代理服务几乎不会被应用程序设计或后端数据漏洞所影响。反向代理的安全性和可靠性通常仅取决于产品本身。在应用服务的前端部署反向代理服务器可以有效地在后端应用和远程用户间建立起一套可靠的安全隔离和攻击检测机制。
如果需要的话,还可以通过在外网、反向代理、后端应用和数据库等边界位置添加额外的硬件防火墙等网络隔离设备来实现更高的安全性保证。
负载均衡:通常使用轮转(RoundRobin)或少连接数优先等策略完成基于客户请求的负载均衡;也可以使用SSI等技术将一个客户请求拆分成若干并行计算部分分别提交到多个应用服务器。
分布式的cache加速:可以将反向代理分组部署在距离热点地区地理位置较近的网络边界上。通过在位于客户较近的位置提供缓冲服务来加速网络应用。这实际上就构成了CDN网络。
静态文件伺服:当收到静态文件请求时,直接返回该文件而无需将该请求提交至后端应用服务器。
动态响应缓存:对一段时间内不会发生改变的动态生成响应进行缓存,避免后端应用服务器频繁执行重复查询和计算。
数据压缩传输:为返回的数据启用GZIP/ZLIB压缩算法以节约带宽。
数据加密保护(SSLOffloading):为与客户端的通信启用SSL/TLS加密保护。
容错:跟踪后端应用服务器的健康状况,避免将请求调度到发生故障的服务器。
用户鉴权:完成用户登陆和会话建立等工作。
URL别名:对外建立统一的url别名信息,屏蔽真实位置。
应用混搭:通过SSI和URL映射技术将不同的web应用混搭在一起。
协议转换:为使用SCGI和FastCGI等协议的后端应用提供协议转换服务。
二、应用服务
应用服务层位于数据库等后端通用服务层与反向代理层之间,向上接收由反向代理服务转发而来的客户端访问请求,向下访问由数据库层提供的结构化存储与数据查询服务。
应用层实现了Web应用的所有业务逻辑,通常要完成大量的计算和数据动态生成任务。应用层内的各个节点不一定是完全对等的,还可能以SOA、μSOA等架构拆分为不同服务集群。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!