门户网站的技术架构怎样设计方案?
我参与设计过一个行业门户网站,感觉解决大型网站面临的高并发访问、海量数据处理、高可靠运行等一系列问题与挑战,在实践中提出了许多解决方案,以实现网站高性能、高可用、 易伸缩、可扩展、安全等各种技术架构目标。这些解决方案又被更多网站重复使用,从而逐渐形成大型网站架构模式。下面我主要从分布式的设计谈下:
1、分布式应用和服务: 将分层和分割后的应用和服务模块分布式部署,除了可以改善网站性能和并发性、加快开发和发布速度、减少数据库连接资源消耗外;还可以使不同应用复用共同的服务,便于业务功能扩展。
2、分布式静态资源: 网站的静态资源如 JS,CSS,Logo 图片等资源独立分布式部署,并采用独立的域名,即人们常说的动静分离。静态资源分布式部署可以减轻应用服务器的负载压力;通过使用独立域名加快浏览器并发加载的速度;由负责用户体验的团队进行开发维护有利于网站分工合作,使不同技术工种术业有专攻。
3、分布式数据和存储: 大型网站需要处理以 P 为单位的海量数据,单台计算机无法提供如此大的存储空间,这些数据需要分布式存储。除了对传统的关系数据库进行分布式部署外,为网站应用而生的各种 NoSQL 产品几乎都是分布式的。
4、分布式计算: 严格说来,应用、服务、实时数据处理都是计算,网站除了要处理这些在线业务,还有很大一部分用户没有直观感受的后台业务要处理,包括搜索引擎的索引构建、数据仓库的数据分析统计等。这些业务的计算规模非常庞大,目前网站普遍使用 Hadoop 及其 MapReduce 分布式计算框架进行此类批处理计算,其特点是移动计算而不是移动数据,将计算程序分发到数据所在的位置以加速计算和分布式计算。
总之分布式设计思路比较多,还有可以支持网站线上服务器配置实时更新的分布式配置;分布式环境下实现并发和协同的分布式锁;支持云存储的分布式文件系统等。
1 设计思路
2 系统结构
3 网络规划及性能计算
3.1 网络架构
3.2 网络架构说明
3.2.1 采用双防火墙双交换机做网络冗余,保障平台服务
3.2.2 采用硬件设备负载均衡器,实现网络流量的负载均衡
3.3 系统测算
3.3.1 系统处理能力要求
3.3.2 业务处理能力要求
3.3.3 系统话务模型
3.4 配置核算
3.4.1 数据库服务器性能核算
3.4.2 WEB服务器集群性能核算
3.4.3 WEB服务器集群内存性能核算
3.4.4 网络带宽
4 性能模拟测试及性能推算
4.1 测试环境
4.2 测试结果
4.2.1 1个客户端模拟不同线和并发请求结果
4.2.2 10个客户端请求
4.3 结果分析
4.4 根据测试结果推算
4.5 设备清单
4.5.1 硬件设备配置清单
4.5.2 设备技术规格
4.6 平台扩容的建议