《社区网站系统集成方案.pdf》由会员分享,可在线阅读,更多相关《社区网站系统集成方案.pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、侠客网()1社区网站系统集成方案侠客网()2Copyright 2008 侠客网站安全研究小组本文中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属侠客网站安全研究小组所有,受到有关产权及版权法保护。任何个人、机构未经侠客网站安全研究小组的书面授权许可,不得以任何方式复制或引用本文的任何片断。侠客网()3版本历史日期版本作者描述2009-2-41.1侠客网创建文档侠客网()4目录概述.4一、需求分析.5二、系统方案.62.1、方案概述.62.2、机房、带宽、托管.72.3、硬件.72.4、软件.92.5、应用系统.9三、系统设计.103.1、Web 服务集群
2、.103.1.1、Web 服务前端.113.1.2、数据库服务集群.113.1.3、文件服务集群.113.1.4、负载均衡系统(服务).123.1.5、缓存服务.123.2、运维系统管理服务器集群.133.2.1、备份系统.133.2.2、软件源服务器.133.2.3、监控服务.14四、社区系统实现.144.1、社区系统的基础特性.144.2、社区系统的选型.154.3、增值应用开发.16五、运维策略.175.1、灾难恢复.175.2、抗击防御攻击.175.3、人员培训.17六、网站项目推进步骤建议.17第一期:完成网站架构的搭建,推进业务上线.17第二期:网站趋于稳定,开始进入稳定的运维.1
3、8第三期:建立稳定的用户群,开始新的产品线的推进.19概述概述互联网从诞生到现在迅速发展,不少企业已经陆续接入了互联网并在互联网上建立了自己的“阵地”,其中包括:向普通网民提供互联网服务(资讯、游戏)的互联网企业网站、发布企业信息推动互联网品牌宣传的企业网站、提供企业内信息化作业的互联网信息系统等等。侠客网()5随着互联网对于人们生活的影响力不断加深,每一个网站都可以很容易地被网民所访问,此外由于各类搜索引擎的作用,使得网站访问量的剧增成为了可能。因此,如何构建一个通用的、高性价比、可扩展伸缩、合理支撑并发访问量的网站系统成为了不少企业所关注的问题。本方案就介绍了满足上述需求的一种社区网站系统
4、集成方案,具体包括以下几个部分:1 1 1 1)需求分析:)需求分析:概述所需要建设网站系统的基本需求(并发访问用户支持数量、用户存储数据量、用户数据增长规模)2 2 2 2)系统设计:)系统设计:根据用户需求,将网站系统分解为数个子系统,并对各个子系统的设计及功能进行介绍3 3 3 3)应用系统实现:)应用系统实现:对于如何设计并实现应用系统进行介绍4 4 4 4)网站运维:)网站运维:对于对网站运进行日常运维进行介绍一、需求分析一、需求分析互联网社区系统作为现阶段互联网一种通用且有效的聚拢人气的网站系统。对于互联网社区网站系统,其中需求概括起来如下:1 1 1 1)并发访问:)并发访问:能
5、够满足一定数量内多用户的同时访问和使用2 2 2 2)高可靠:)高可靠:意外情况导致服务器上的数据丢失不影响整个系统的业务数据完整性3 3 3 3)高可用:)高可用:意外的情况(某台服务器发生硬件故障、网络故障等不可预料因素)不影响整个系统的正常传输工作4 4 4 4)安全:)安全:整个系统中每个单点都安全可靠5 5 5 5)易管理)易管理:整个系统便于维护和管理,任何具备初级知识的系统运维人员可在经过培训后完成整个系统的管理6 6 6 6)高性价比:)高性价比:整个系统设计能在适应业务需求的同时达到追求性价比最优此外,整个系统最好还具备以下特性。侠客网()67 7 7 7)可伸缩性:)可伸缩
6、性:适应不同规模的并发访问的伸缩性架构也是重要的需求8 8 8 8)安全运维策略:)安全运维策略:有良好的应对策略能够应对不同的运维危机事件本文介绍了 Web-File 这样的一种通用网站架构下的集成方案。所谓 Web,表示 Web 服务前端,它直接响应用户的内容请求服务;所谓 File,表示文件服务器,它一般用于数据的存储(包括数据库)。图 WF 服务架构二、系统方案二、系统方案2.12.12.12.1、方案概述、方案概述、方案概述、方案概述基于上述需求,我们从网站系统建设的硬件基础环境选择到硬件、软件、以及承载业务的应用系统的选择来设计整个网站系统。在整个网站系统的设计描述当中,我们不仅考
7、虑用户自己构建对应的系统模块,同时也我们不仅考虑用户自己构建对应的系统模块,同时也给给出来使用第三方产品或服务的建议,读者可以根据自己的需要等诸多因素进行选择出来使用第三方产品或服务的建议,读者可以根据自己的需要等诸多因素进行选择。侠客网()7对于整个网站系统来说,最关键的两个要素是数据的安全性和业务的持续性。2.22.22.22.2、机房、带宽、托管、机房、带宽、托管、机房、带宽、托管、机房、带宽、托管网站系统的带宽和机房的选择直接决定着用户访问体验以及同时支撑的访问用户的数目。但另一方面,带宽和机房的投入和其品质成正比,所以需要综合用户分布、网站允许同时访问用户的数目策略、以及网站访问用户
8、数目增长的趋势来控制考虑带宽。此外,对于非常规的服务器,还需要考虑其最大额定工作电流是否是当前所选机房额定电流支持范围内。中国目前是南电信,北网通,以及教育网三网分布的格局。普遍的机房除了三个网内独立的机房外还有双线机房或者三线机房,但价格也会有相应的变化。图 带宽费用不同的服务器需要占据不同的机架位,机器的托管也需要考虑,举例如下:图 某 IDC 关于机器托管费用报价2.32.32.32.3、硬件、硬件、硬件、硬件对于硬件的选择需要根据实际的网站系统业务架构考虑,其中普遍需要的一个是网络吞吐能力,这与网卡的选择有关,理论上吞吐量越大的网卡越好,这需要视机房内网环境而定。此侠客网()8外尽量统
9、一硬件选择能够给运维带来很好的便利(当然某些情况下需要考虑为引发供货商的竞争压低价格而有意采用不同的硬件),此外不同用途的服务器还需要优先考虑不同的需求。将配置划分为低廉、普通、优等三种,那么不同的子系统的服务器可以选择不同的配置等级。数据库服务器:数据库服务器:普通配置,需要重点考虑存储文件服务器:文件服务器:普通配置,需要重点考虑存储负载均衡服务器(自建):负载均衡服务器(自建):优等配置CacheCacheCacheCache 服务器:服务器:普通配置WebWebWebWeb 服务器:服务器:普通配置管理服务器:管理服务器:低廉配置图 dell 服务器罗列DellDellDellDell
10、 服务器报价服务器报价用途类型名称用途类型名称标准价格标准价格备注备注侠客网()92.42.42.42.4、软件、软件、软件、软件整体采用统一的系统有利于从运维管理的便利。基于性价比最优的考虑,我们推荐 CentOSlinux 以及以此为基础的软件。CentOS 是开源社区内企业级的操作系统软件,其能够很好地支持通用硬件,并且基于其的成熟的应用软件也足够我们构建一个稳定的网站系统。操作系统:操作系统:CentOS高可用软件:高可用软件:heartbeat数据冗余:数据冗余:drbd数据库:数据库:mysqlWebWebWebWeb 服务:服务:httpMailMailMailMail 服务:服
11、务:postfix负载均衡服务软件:负载均衡服务软件:ipvsCacheCacheCacheCache 服务软件:服务软件:squid2.52.52.52.5、应用系统、应用系统、应用系统、应用系统应用系统是整个网站系统的核心,不同的应用系统实现有着不同的需求。但应用系统的选择应该独立于硬件,且与软件的依赖程度越少越好。应用系统是网站系统将用户需求体现的重要因素,其设计合格标准应该按照以下几个指标衡量:1)满足用户需求2)系统有着良好的容错能力和排错支持3)系统设计结构清晰、符合通用标准存储存储2950III13900WebWebWebWeb 应用应用R3007900侠客网()104)冗余代码
12、尽可能少此外,如果需要考虑不断增长的用户需求,应用系统还需要将良好的扩展特性也考虑进去。三、系统设计三、系统设计本文的设计是基于 cache-Web-Data 这样一种架构去设计我们的 Web系统,CWD 结构是一种将缓存的数据发布给用户,而使用 Web 服务器来处理来自用户提交的内容处理和缓存服务器获取数据的源的方式;此外 Web 服务器会处理数据库、文件服务器中的数据的访问和更新的工作。这样 CWD 的架构是一种简洁且成熟的架构,在许多应用场景中都有不俗的表现。另外由于目前 CDN 等服务的成熟以及广泛应用,使用这种结构能够做到最低的投入,最高的产出。在整个系统急群中,数据库以及文件系统集
13、群的地位最重,因此对于这两块的数据是需要冗余备份以及高可用部署的。Web 服务集群,直接访问数据库、文件系统集群,用户提交的数据都会提交给 Web 服务器;另一方面,它也是 Cache 服务器集群直接采集数据的源,因此,它也是有必要做高可用性。Cache 服务器集群,直接为终端用户提供内容服务,通过增加 Cache服务器能够迅速提升系统的可扩展能力。3.13.13.13.1、WebWebWebWeb服务集群服务集群服务集群服务集群Web 服务集群在整个网站系统用于发布真实内容或者处理用户提交数据。它能够响应缓存系统服务器的内容请求,此外也能够响应用户提交的数据进行处理。它需要具备以下特性:高可
14、靠部署:高可靠部署:高可靠的部署是防止节点在意外故障时整个系统的服务仍然不中断的条件,处于高可靠部署的一组服务器,上面的环境都是相同的安全部署:安全部署:安全部署是给予该节点合理的访问权限;增加 Web 防火墙,能够抵御非预期恶意用户输入,减少安全风险的发生的概率监控机制:监控机制:监控机制是使得服务器节点始终处于良好的监控体下,便于管理侠客网()113.1.13.1.13.1.13.1.1、WebWebWebWeb服务前端服务前端Web 服务前端直接承载用户的请求,对于 Web2.0 站点来说,动态的站点直接承受用户的访问请求。3.1.23.1.23.1.23.1.2、数据库服务集群、数据库
15、服务集群一般而言,存在用户交互的网站都会有数据库服务以保存用户提交的内容。这时它在网站系统中处于核心地位,它保存着网站的数据,数据库服务集群需要达到以下指标:数据冗余:数据冗余:数据冗余是抗灾、高可靠部署实施的基础高可靠部署:高可靠部署:高可靠的部署是防止节点在意外故障时整个系统的服务仍然不中断的条件主辅部署:主辅部署:主辅部署能够自动地将数据由一台同步到多台上,便于将实际业务请求中对数据库的读、写操作分布到不同的机器上,从而减缓数据库服务集群的压力。安全部署:安全部署:安全部署是给予该节点合理的访问权限,减少安全风险的发生的基础监控机制:监控机制:监控机制是使得服务器节点始终处于良好的监控体
16、下,便于管理3.1.33.1.33.1.33.1.3、文件服务集群、文件服务集群当网站系统用户交互部分涉及到用户提交文件内容时,一般会需要文件服务来保存对应的文件内容。文件服务集群需要达到以下指标:数据冗余:数据冗余:数据冗余是抗灾、高可靠部署实施的基础高可靠部署:高可靠部署:高可靠的部署是防止节点在意外故障时整个系统的服务仍然不中断的条件分类机制:分类机制:为了能够接纳持续增长的数据,文件服务集群应该能够按照特定分类(如日期,用户)等方式,以具备可持续接纳增长的数据的能力统一访问:统一访问:需要不同的 Web 服务器能够同时访问到所需要文件内容,因此需要文件服务集群能够以一种对于各个 Web
17、 服务器都相同的方式发布自己的文件共享服务。安全部署:安全部署:安全部署是给予该节点合理的访问权限,减少安全风险的发生的概率监控机制:监控机制:监控机制是使得服务器节点始终处于良好的监控体下,便于管理侠客网()123.1.43.1.43.1.43.1.4、负载均衡系统(服务)、负载均衡系统(服务)负载均衡系统能够将用户的请求按照一定的策略分配到服务集群中的不同主机上,它在高访问量的网站系统中的处于重要的交通调度地位作为负载均衡系统,它需要有以下特性:高可靠部署:高可靠部署:高可靠的部署是防止节点在意外故障时整个系统的服务仍然不中断的条件,处于高可靠部署的一组服务器,上面的环境都是相同的安全部署
18、:安全部署:安全部署是给予该节点合理的访问权限;增加 Web 防火墙,能够抵御非预期恶意用户输入,减少安全风险的发生的概率监控机制:监控机制:监控机制是使得服务器节点始终处于良好的监控体下,便于管理初期,使用 DNS 轮询来做最简单的负载均衡能满足需求,未来可以考虑 F5 等专业负载均衡设备。3.1.53.1.53.1.53.1.5、缓存服务、缓存服务对于提供图片等应用的站点来说,很有必要建立缓存系统,缓存系统能够帮助用户减轻Web 服务集群的压力,基于目前的稳定架构来说,使用 CDN 服务极为可靠。CDNCDNCDNCDN 服务报价服务报价用途类型名称用途类型名称标准价格标准价格备注备注WE
19、BWEBWEBWEB 加速系列加速系列1000M 以上250/M/月5001000M(含 1000M)300/M/月100500M(含 500M)400/M/月50100M(含 100M)500/M/月1050M(含 50M)600/M/月510M(含 10M)700/M/月25M(含 5M)1000/M/月文件传输加速系列文件传输加速系列 文件传输加速文件传输加速侠客网()133.23.23.23.2、运维系统管理服务器集群、运维系统管理服务器集群、运维系统管理服务器集群、运维系统管理服务器集群Web 服务集群直接提供了业务访问,但是若需要保障 Web 服务集群稳定地工作,还得建立对应的运维
20、机制,以便保障业务稳定可靠的运行。基于管理系统的需求,我们的管理系统应该具备以下管理特性:容灾性:容灾性:能够抗击灾难软件发布:软件发布:可通过 centos 原生的 yum 以及 rpm 方式制作 rpm 包,并通过 yum repo 或者 http的形式发布。网络主机、服务监控:网络主机、服务监控:通过部署 muin 可以完成对网络主机、服务进行有效、便捷地监控内容监控:内容监控:可以对网站内容的有效监控,避免用户提交泛滥的内容造成的风险或者监管部门的处罚3.2.13.2.13.2.13.2.1、备份系统、备份系统安全部署:安全部署:安全部署是给予该节点合理的访问权限;增加 Web 防火墙
21、,能够抵御非预期恶意用户输入,减少安全风险的发生的概率归档机制:归档机制:能够以最小的代价完成数据备份以及恢复,以支撑灾难性事件的发生监控机制:监控机制:监控机制是使得系统始终处于良好的监控体下。3.2.23.2.23.2.23.2.2、软件源服务器、软件源服务器为整个系统发布软件包服务,包括系统以及应用的软件包应该由此处获取,以及所有软件5G 以上110/M/月1G5G(含 5G)130/M/月500M1G(含 1G)160/M/月100500M(含 500M)200/M/月100M 以下(含 100M)220/M/月侠客网()14的升级。统一的软件源服务器能够为整个系统提供稳定的软件升级服
22、务,保障系统稳定可靠的运行。3.2.33.2.33.2.33.2.3、监控服务、监控服务整个系统的运行状况可以由该节点获得,在网络服务出现问题时能够以各种警报的形式通知运维人员,及时处理。监控体系应该包括:网络主机服务监控:对于网络主机服务的健康状况进行监控网站内容监控:对于所发布的内容实施监控,及时发现其中的敏感内容高可靠部署:高可靠部署:高可靠的部署是防止节点在意外故障时整个系统的服务仍然不中断的条件安全部署:安全部署:安全部署是给予该节点合理的访问权限;增加 Web 防火墙,能够抵御非预期恶意用户输入,减少安全风险的发生的概率四、社区系统实现四、社区系统实现4.14.14.14.1、社区
23、系统的基础特性、社区系统的基础特性、社区系统的基础特性、社区系统的基础特性应用系统为整个系统的核心,它提供了信息化的内容发布,基于整个信息系统的架构,我建立运维系统管理服务器集群的服务及软件报价建立运维系统管理服务器集群的服务及软件报价名称名称标准价格标准价格备注备注服务服务IT 服务实施再议软件软件侠客网站内容监控软件8000(精简版)30000(高级版)1 年免费小版本升级侠客网()15们的应用系统应该具备以下特性:支持数据库的主辅分布:支持数据库的主辅分布:应用系统是需要能够支持数据库的主辅特性,能够将读的压力分配给数据库集群中的辅数据库节点。支持用户数据分类:支持用户数据分类:应用系统
24、需要支持用户数据的分类(时间、用户 ID),使得用户提交内容产生的文件数据的增长可以通过增加文件服务器的方式完成扩容。适应适应 cachecachecachecache 服务器服务器/Web/Web/Web/Web 服务器的架构:服务器的架构:应用系统应该需要支持 cache/web 方式的架构,表现为以下两个方面:1、用户访问时,动态的数据(用户的 session、个人信息)则由 web 服务器提供产生2、能够将用户提交的数据提交给真实的 Web 主机4.24.24.24.2、社区系统的选型、社区系统的选型、社区系统的选型、社区系统的选型在掌握了上述应用系统的基础特性需求之后,我们可以选择一
25、些已有的 Web 系统进行改造,以满足应用需求。UCHOMEUCHOMEUCHOMEUCHOME:UCHome 为国内使用广泛,开源的 SNS 基础核心,已有不少成熟的系统为基于其的开发,通过使用 UCHOME,可以迅速找到很多开发者。图-UCHomeGSNSGSNSGSNSGSNS:GSNS 为一个能够适应高并发用户访问的成熟稳定的 SNS 系统,它功能强大,模块化设计。其有专业的服务技术支撑团队。侠客网()16图 GSNS4.34.34.34.3、增值应用开发、增值应用开发、增值应用开发、增值应用开发现有的社区开发模式都是基于一个现有的社区系统继续开发增值应用作为核心的功能开发。GSNSG
26、SNSGSNSGSNS 定制开发服务及软件报价定制开发服务及软件报价名称名称标准价格标准价格备注备注服务服务定制开发12000/月 每工程师软件软件GSNS25000(标准版)三年免费升级社区增值定制开发服务及软件报价(部分)社区增值定制开发服务及软件报价(部分)名称名称标准价格标准价格备注备注服务服务定制开发不同服务提供商不同报价软件软件叩富炒股软件25000(标准版)侠客网()17五、运维策略五、运维策略网站在完成建设之后,保障其稳定运维为主要的运维目标,运维策略中需要考虑以下问题:5.15.15.15.1、灾难恢复、灾难恢复、灾难恢复、灾难恢复灾难恢复的需求为需要网站在遭遇天灾时仍然能够
27、迅速恢复服务,减少损失,这一部分策略依赖与备份服务器。此外还需要逐步形成数据恢复实施办法以及对应的 IT 工具5.25.25.25.2、抗击防御攻击、抗击防御攻击、抗击防御攻击、抗击防御攻击抗击入侵的需求为在网站遭受非法黑客的攻击(抗拒绝服务、系统入侵、应用漏洞入侵)下仍然能够正常服务,业务尽可能少地受影响,这一部分策略依赖于稳定的运维以及对于攻击手段的掌握、未雨绸缪地准备。5.35.35.35.3、人员培训、人员培训、人员培训、人员培训对于网站运维的人员需要具备以下要求才能达到安全运维:1,深入了解网站的架构2,深入了解网站各种故障处理机制六、网站项目推进步骤建议六、网站项目推进步骤建议根据
28、网站的发展,我们建议企业推进网站项目的步骤如下:第一期:完成网站架构的搭建,推进业务上线第一期:完成网站架构的搭建,推进业务上线第一期:完成网站架构的搭建,推进业务上线第一期:完成网站架构的搭建,推进业务上线在这以阶段,主要任务为推进稳定的业务架构上线,在这一个阶段,主要目标是将网站推进上线,并实现业务网站稳定发展。数据库服务器需要一主一辅,以实现未来可扩的架构;WEB 服务器需要两台,此外每台侠客网()18WEB 服务器同时为文件服务器,使用 DNS 轮询来实现负载均衡。图 第一阶段实现架构第二期:网站趋于稳定,开始进入稳定的运维第二期:网站趋于稳定,开始进入稳定的运维第二期:网站趋于稳定,
29、开始进入稳定的运维第二期:网站趋于稳定,开始进入稳定的运维在这一阶段,网站的业务已经成熟,可以进入稳定地运维期,在这一阶段,主要目标是真正建立完善的运维体制,让网站适应日益增长的用户群。数据库服务器一主多辅,主服务器存在冗余备份,而辅服务器有多台,以分担业务系统对于数据库的查询压力;文件服务器从 WEB 服务器中独立出来;WEB 服务器存在多台,此时负载均衡可以考虑高级的负载均衡方式;已经建立了软件源服务器,为系统的扩展提供了便捷的方式;同时建立了监控服务器,以利于实施高效地监控。侠客网()19图 稳定的网站运维架构第三期:建立稳定的用户群,开始新的产品线的推进第三期:建立稳定的用户群,开始新的产品线的推进第三期:建立稳定的用户群,开始新的产品线的推进第三期:建立稳定的用户群,开始新的产品线的推进在这一阶段,网站已经建立起稳定的用户群,在已有业务已经满足用户需求的基础上,可以进一步挖掘用户的需求,开发新的功能,拓展新的用户群。