您好,欢迎访问三七文档
宅急送官网技术文档第一部分网站开发语言原网站是由微软公司的asp.net开发,asp.net适合中小型网站或信息管理系统的研发,但是对于大型网站或信息管理系统,业内一般采用基本J2EE平台,开发语言为Java。Java语言有以下优势:面向对象Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。分布性Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其他对象。鲁棒性Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。在编译时,通过集成的面向对象的异常处理机制,Java提示出可能出现但未被处理的异常,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。安全性用于网络、分布环境下的Java必须防止病毒的入侵。Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。体系结构中立Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。可移植性与平台无关的特性使Java程序可以方便地移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C语言实现,这使得Java系统本身也具有可移植性。解释执行Java解释器直接对Java字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。高性能和其他解释执行的语言如BASC、TCL不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。多线程多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上的实时交互行为。动态性Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。第二部分本项目采用的数据库技术一数据库服务器架构ORACLE在数据库领域一直处于领先地位,在国内市场,ORACLE也是大多数大中型企业首选的数据库产品。在移动通讯、电力、银行、电子商务等诸多部门及行业,ORACLE的成功案例多不胜数。本公司也采用了ORACLE为公司的核心系统提供数据库服务。上图展示了本公司核心产品数据库部分的系统架构。对于网站系统,一般使用MySql或SQLServer做为数据库,但由于本网站系统功能庞大,并且对于数据量、性能、安全性有非常高的要求,所以采用Oracle数据库为网站各系统提供数据库服务功能。二数据库服务器系统参数1、操作系统REDHATENTERPRISELINUXAS42、数据库ORACLE11GRACORACLEGRIDCONTROL11G三系统优势1、支持多用户、高并发、高吞吐量。可以同时支持数十万个用户同时在线、数万个并发访问;可以支持每天上G的数据增长量;2、高响应效率本公司设计的产品会根据客户需求对应用进行分割,对绝大部分高并发、高实时性要求的客户会话数据库都可以在1-2秒之内完成。ORACLERAC的架构可以在不影响现有业务的情况下,通过增加服务器,横向扩展系统,提高系统吞吐量的上限,保证在客户业务增长的情况下持续提供高性能的服务。3、高可用数据库实例的高可用:就像其名字所说的那样(真正应用集群),ORACLERAC可以保证在一个服务器节点故障停机后,其负责的用户会话可以无缝切换到其他正常节点;存储的高可用:作为客户数据资料的保存介质,存储的重要性是显而易见的。本公司产品采用的存储阵列,采用先进的容错技术,某个磁盘发生故障,不会造成数据丢失,也不会影响系统的在线服务;另外,存储镜像计数的引用,保证了即使在线服务的存储阵列发生严重故障,不能提供服务了,作为镜像的存储可以立刻接管,保证了整个系统的高可用性。网络高可用:内网采用双网卡、双交换机,外网采用多个通信网络,保证服务器网络体系任何一个节点的故障都不会影响系统的在线服务。4、容灾本公司可以根据客户需要,为客户建立异地远程机房,严谨的数据备份、复制机制可以保证即使在线服务的机房因灾害导致服务器系统完全摧毁,也能在最短的时间内恢复系统服务,同时保证历史数据的完整性。5、运维作为整个系统的重要组成部分,数据库系统和应用服务系统在运维上有很大区别,一个提供稳定服务的系统,在客户需求没有增改的情况下,应用服务系统的运维工作相对较少,而随着客户业务数据的日积月累地增长,数据库系统的运维工作也相当重要,一个开始高性能的数据库系统,如果运维工作不成功,性能必然会降低。本公司会持续提供完善的运维服务,并辅助客户培养运维人才,保证客户的系统稳定、健康地运行。6、开发性ORACLE是一个开发的系统,它所提供的各种操作接口都遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。7、安全性和完整性在现代电子商务领域里,一个优秀的系统,必须提供良好的开放性、兼容性,同时也必须提供有效的方案和手段,为客户信息的安全性和完整性提供足够的保障,一个缺乏安全性的系统,会造成客户信息被非法访问、窃取,甚至客户数据的完整性遭到破坏,给客户带来难以估量的损失,现实生活中,这样的例子很多。出于对安全性的重视,我公司从系统总体设计开始,到产品研发结束,将安全性的问题纳入到整个设计、研发、测试环节,对系统的安全性及有着相互影响的开放性、性能做了全面的设计,贯穿了数据库、应用服务器、中间件、网站页面所有环节。首先,在数据库架构方面,我们采用了内网隔离的设计,避免了数据库服务器和外网直接的物理连接,从外部访问数据库的唯一途径就是通过应用服务器;其次,在网络协议层,系统仅开放一个访问端口,提供给应用服务器和中间件用于数据存取访问,其它所有端口全部关闭;最后,通过权限设置限制用户对数据库的访问,通过用户管理、权限管理限制用户对数据的存取,通过数据库审计、追踪等方法监控数据库的使用情况;在业务功能上对用户权限进行分割,对用户进行不同的授权,在数据库层面将用户权限限制在业务允许的范围内;在时间上对数据进行分隔,对过期的历史数据和在线服务的活动数据进行分割,分开授权。按照上述方案,本公司设计研发的系统,可以在数据库层面,保证开放性和高性能的同时,最大程度的保障数据的安全性。8、支持分布式数据处理允许利用计算机网络系统,将不同区域的数据库连接起来,实现软件、硬件、数据等资源共享,实现数据的统一管理与控制。9、可移植性、可兼容性和可连接性数据库可以运行于很宽范围的硬件与操作系统平台上,可以安装在70种以上不同的大、中、小型机上,可在UNIX、VMS、DOS、WINDOWS等多种操作系统下工作。从一个平台移植到另外一个平台时,不需要修改或只需要修改很少量的代码。数据库采用标准SQL,能与多种通信网络连接,支持各种网络协议(如TCP/IP、DECnet、LU6.2等)第三部分本项目采用的系统架构一.系统架构设计背景为满足系统性能,高并发,横向扩展等因素,单台中间件服务器已无法满足高并发请求,提出中间件集群负载均衡解决方案,满足系统横向的可伸缩性拓展,同时对系统性能,安全,数据容灾等各方面要求,采用以下技术方案:1LB负载均衡架构采用LB负载均衡进行集群,对于负载,又分软负载和硬负载。Director(dispatcher):负责接收页面请求,并将请求按照某种算法分发到后台真正提供服务的服务器上。既可以基于硬件(F5)来实现,也可以基于软件来实现。基于软件实现的又分为四层交换:基于IP地址和端口号组合起来对服务做重定向(LVS)。七层交换:通常指的是反向代理(proxy),本文采用四层交换。对于单机服务出现故障后,自动从移除非可用服务器。2软/硬负载采用双设备热备机制从系统安全上考虑,对于单节点运行环境设备,采用双设备相互热备机制,在单节点出现故障时,可以自动切换。3数据库双机热备机制数据库双机热备,防止数据库故障,带来数据丢失,系统瘫痪问题,双机热备提供数据库系统自动切换机制,避免了数据库系统故障带来瘫痪问题。4数据库数据采用RAID模式采用磁盘柜存储,提高传输速率和提供容错功能,在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。5对数据安全有特定要求的,可采用跨域进行备份对于单数据中心出现故障,系统无法正常运行,有特定要求的,可以考虑异地多数据中心,同步备份。6共享文件存储,文件备份机制因业务需要,对于文件类型资料,需要共享存储,并且对于存储文件进行备份,防止磁盘故障,文件丢失带来不必要的损失。二.系统硬件网络架构三.系统硬件与软件环境1)硬件环境软件负载前置服务器/硬件负载设备中间件服务器数据库服务器磁盘柜文件服务器2)软件环境Linux系统或WindowsServer系统JDK1.7、JSP、ServletSSH即:Struts、Spring、HibernateGlassfish开源应用服务器Oracle11gNetbeans四.系统安全措施访问采用证书和用户名密码认证方式未经认证的用户随意访问未公开的WEB服务,采用用户密码+证书的方式对服务进行用户访问认证。通讯采用SSL协议SSL安全协议也是国际上最早应用于电子商务的一种网络安全协议,至今仍然有许多网上商店在使用。为了解决Web服务器明文传输带来的窃听,篡改,冒充3大风险,采用SSL的HTTP通信方式。所有信息都是加密传播,第三方无法窃听;具有校验机制,一旦被篡改,通信双方会立刻发现;配备身份证书,防止身份被冒充。通讯采用加密数据格式页面请求采用严格的自定义加密格式,只用户数据发送和接收,不进行资源调用。防火墙策略服务器系统安全管理。内网IP访问分配及限制。数据库内网控制及授权数据库对中间件授权。关闭外网访问。严禁非法SQL注入,带来数据安全问题。中间件访问授权机制服务访问控制与授权五.系统容灾策略数据库备份机制数据库双机热备负载设备热备中间件设备故障监听机制多数据中心建设第四部分性能要求1系统构件化设计,面向对象,可做到灵活扩展;整个网站系统的功能会采用模块设计,每个模块内部功能独立,不影响其他模块,并且程序语言上基于面向对象特性开发,并可做到灵活扩展;2系统采用三层架构体系,充分考虑到以后纵向和横向的发展网站系统采用三层架构体系,界面层负责页面展示和页面交互,业务逻辑层负责各类业务逻辑的处理,数据访问层负责与数据库通信,进行数据读写操作。3在网络稳定(带宽128K)的环境下操作性界面单一操作的系统响应时间小于10秒,在局域网内响应时间小于3秒客户在界面层发起请求后,系统会迅速处理该请求并返回其需要的数据在界面层显示,并且系统会将常用功能相关的数据缓存到前端服务器,此类功能的请求,无需经过后端处理,可以直接从缓存应用中返回数据,大大提升响应速度。4完全支持5000个并发用户,正常2000个用户并发访问系统采用软件负载均衡处理,任何配置的单台服务器的并发都会有上限,但是采用负载均衡后,可以配置多台服务器,由负载均衡系统对请求进行分发,由不同的服务器进行处理,此类配置可以
本文标题:网站技术文档
链接地址:https://www.777doc.com/doc-6452674 .html