
解决方案--大型网站架构方案.doc
8页1 前言1.1引言海西电子商务平台(以下简称平台)的前台功能是作为一个基于因特网的浏 览界面,为各种农业投入品的销售提供虚拟店铺,企业或个人通过平台提供的搜 索工具,快速找到适合于自己需求的产品或服务信息,并通过平台提供的诚信评 估系统进一步筛选交易对象,最后还可通过平台提供的支付手段进行快捷的现金 支付、并为物流企业提供位置服务,为会员企业提供物流追踪服务,为政府及相 关部门提供监管的辅助决策服务平台数据来源一是商务平台用户输入的各类信息、二是从各业务系统中自动 提取的数据、以及平台管理者从各种渠道采集录入的行业信息1.2平台的组成部分•网络系统通过两台中心交换机与电信千兆光纤相结合,实现应用业务服务器千兆 接入能力,网内加入负载均衡设备,利用硬件设备来控制网络资源的利用•服务器系统部署2台中心数据库服务器、门户网站WEB服务器2台、NFS文件服务 器1台、备份服务器1台、网页防篡改服务器1台、数据交换服务器2台以 及视频应用服务器2台核心应用服务器实现双机热备以保证全年服务的不 间断进行•存储备份系统主要建设以SAN结构为主体的数据存储平台数据存储平台由SAN交换 机组成SAN交换网络,配置2台存储磁盘阵列为前端应用提供统一管理的、 灵活可扩展的数据存储系统,并充分考虑数据安全通过备份服务器实现数 据的本地备份。
与省农业信息中心达成异地备份协议,将平台数据定期转送到设置在信 息中心的服务器上进行安全备份•安全防护系统为数据中心提供安全防护能力,尽可能减少内部、外部对系统和数据的 威胁主耍部署网页防篡改系统并利用政务外网的IPS和防火墙等来实现系 统的安全防护能力,设置多级化的数据访问权限并记录数据使用口志以防范 來自内部的数据安全威胁1.3平台的性能需求•系统重要的服务器均运行在服务器系统平台上对于系统级安全的实 现,通过科学合理的设置来充分利用操作系统本身提供的安全机制,弥 补操作系统的安全漏洞;利用主机监控与保护来增强实际运行安全•数据库系统安全需求数据库系统应该防范以下风险:对数据库安全的威胁主要来自以下因素:数据输入或处理中的错误;硬件故障引起的数据破坏或丢失;软件保护功能失效造成数据泄蘇;非授权用户的非法存取,篡改数据;授权者制定不止确、不安全的防护策略;用户复制和泄露敬感数据资料; 病毒侵入系统,破坏数据文件2 设计思路为提高平台的并发性和稳定性,提高开发效率和运营效率,主要按如下几个 思路进行设计:A. 基于web请求的网络负载均衡设计思路• 通过硬件设备来实现负载均衡F5负载均衡服务器,是L4/L7层交 换机,每台至少可处理200万连接。
•通过第三方软件来实现负载均衡,同时实现页面请求的缓存技术 使用ngnix实现反向代理服务器集群,同吋搭建squid集群作为静 态页面和图片的缓存C• 通过web服务器的配置来实现负载均衡(服务器集群,例:用apache 或ngnix实现反向代理,将客户的请求均衡分配给 tomcatl, tomcat2.. .) oB. Web应用架构设计思路•使用MVC三层架构进行web应用开发考虑到平台使用需要而向大众和简单易用,所以平台规划使用J2EE 及J2ME技术,采用B/S架构在技术的选用的原则上,兼顾选用当 前主流的稳定技术与一定的技术前瞻性基于这样的考虑,采用目 前先进的Struts + Spring + Hibernate的技术框架软件架构为典型的三层结构上层为表示层,主要处理用户和服务 器的交互过程中层为业务逻辑层,主要完成系统的业务逻辑下 层为工具和资源层,为系统提供基础性的支持,如数据库访问/表示层表示层采用Struts技术Struts技术为J2EE规范中的一个标准, 得到如SUN等各大软件厂商的大力支持和推广同吋兼顾到系统的 扩展性和可用性/业务逻辑层 业务逻辑层采用Spring框架。
Spring框架最为目前主流的稳定技 术,从推出至今,己经被大大小小不同的项目采用Spring框架提 供了 IoC (反转控制),A0P (面向方面编程)等先进设计思想和技 术,易于项目的不同技术集成,提高产品稳定性和性能,促进开发 效率等丁数据库访问(DA0)数据库访问釆用Hibernate框架Hibernate提供了关系数据库和 JAVA类的映射(0/R mapping),同时通过缓存和二级缓存技术等, 提高了数据库访问的性能为系统的稳定性、性能和收缩性提供了 技术保证下图为系统整体的框架:图 1 Struts+Hibernate^Spring 架构图•农业新闻频道采用第三方开源的CMS系统(如jmmcms)来实现平台 的内容管理•页而尽可能的静态化•使用第三方软件來实现全文检索(如:Apache Lucerne)•采用页面缓存机制(如oscache)o• 采用数据缓存机制(如memcached)• 采用高效的网络文件共享策略,使用独立的视频服务器C. 数据库存储的设计思路• 分布式数据•库,Master-Slave模式,实现数据库读写分离在中间层 的包装下,可做如下扩展,以支持更大规模的数据存取:丁 数据库/表水平拆分,例 User -> User33% + User33% + User34% 丁 数据库/表垂直拆分,例 User -> UserBaselnfo + UserAddrlnfo• 采用数据库的缓存技术,减少数据库I/O吞吐量。
3 平台架构设计3.1平台性能瓶颈分析影响性能的因素很多,下面主要从三个方面进行分析说明:A. 网络负载• 公网负载• 内网负载B. Web应用服务器性能• CPU频率• 存储,I/O访问• 内存空间• 并发TCP/IP连接数C. 数据库服务器性能• 数据库结构的合理性(比如:索引)• 数据库服务器的性能Tomatl jApache3.2平台的架构设计WEB 服,MVC应用架构数据缓存应用级缓存数諡层勰蠶gg)硬件四层交换负载均衡器软件四层交换LVS反向代理软件 (数据缓存)Nginx proxy SquidSquid cache Nginx cacheWEB服务(Apadie+tomcat 负载均衡)3.3网络拓扑图光歼交扶机&用■务”群代观■务IMM(Nglnx)2阵死柜碰盘降列柜说明:A.采用双防火墙双交换机做网络冗余;B.采用硬件设备负载均衡器,实现网络流量的负载均衡C. 采用代理服务器,实现网络级的负载均衡D.。












