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集群作为静态页面和图片的缓存。
通过web服务器的配置来实现负载均衡(服务器集群,例:用apache
或ngnix实现反向代理,将客户的请求均衡分配给tomcat1,tomcat2...)。
B. Web应用架构设计思路
使用MVC三层架构进行web应用开发。
考虑到平台使用需要面向大众和简单易用,所以平台规划使用J2EE及J2ME技术,采用B/S架构。在技术的选用的原则上,兼顾选用当前主流的稳定技术与一定的技术前瞻性。基于这样的考虑,采用目前先进的Struts + Spring + Hibernate的技术框架。
软件架构为典型的三层结构。上层为表示层,主要处理用户和服务器的交互过程。中层为业务逻辑层,主要完成系统的业务逻辑。下层为工具和资源层,为系统提供基础性的支持,如数据库访问。 ✓ 表示层
表示层采用Struts技术。Struts技术为J2EE规范中的一个标准,得到如SUN等各大软件厂商的大力支持和推广。同时兼顾到系统的扩展性和可用性。
✓ 业务逻辑层
业务逻辑层采用Spring框架。Spring框架最为目前主流的稳定技术,从推出至今,己经被大大小小不同的项目采用。Spring框架提供了IoC(反转控制),AOP(面向方面编程)等先进设计思想和技术,易于项目的不同技术集成,提高产品稳定性和性能,促进开发效率等。
✓ 数据库访问(DAO)
数据库访问采用Hibernate框架。Hibernate提供了关系数据库和JAVA类的映射(O/R mapping),同时通过缓存和二级缓存技术等,提高了数据库访问的性能。为系统的稳定性、性能和收缩性提供了技术保证。
下图为系统整体的框架:
农业新闻频道采用第三方开源的CMS系统(如jmmcms)来实现平台
的内容管理。 页面尽可能的静态化。
使用第三方软件来实现全文检索(如:Apache Lucene)。 采用页面缓存机制(如oscache)。
采用数据缓存机制(如memcached)。
采用高效的网络文件共享策略,使用独立的视频服务器。 C. 数据库存储的设计思路
分布式数据库,Master-Slave模式,实现数据库读写分离。在中间层
的包装下,可做如下扩展,以支持更大规模的数据存取:
✓ 数据库/表水平拆分,例 User -> User33% + User33% + User34% ✓ 数据库/表垂直拆分,例 User -> UserBaseInfo + UserAddrInfo 采用数据库的缓存技术,减少数据库I/O吞吐量。
3 平台架构设计
3.1 平台性能瓶颈分析
影响性能的因素很多,下面主要从三个方面进行分析说明: A. 网络负载
公网负载 内网负载
B. Web应用服务器性能
CPU频率
存储,I/O访问 内存空间
并发TCP/IP连接数 C. 数据库服务器性能
数据库结构的合理性(比如:索引) 数据库服务器的性能
3.2 平台的架构设计
3.3 网络拓扑图
说明:
A. 采用双防火墙双交换机做网络冗余;
B. 采用硬件设备负载均衡器,实现网络流量的负载均衡。 C. 采用代理服务器,实现网络级的负载均衡 D.
因篇幅问题不能全部显示,请点此查看更多更全内容