热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   根域文章 -   正文

知了出品——web网站工程项目前期需求分析与规划怎么写?

zhiliaoadmin
2022-12-19 16:33:16
0


 

在当下,做一个web网站工程项目,真正重要的恰恰是前期的需求分析与规划,就好像你得先决定好目的地,才能开始出发。

那么,需求分析与规划,到底该怎么去写呢?本期,跟随知了姐一起看看一份标准的Web网站工程项目前期需求分析与规划该怎么写吧!

 

{xunruicms_img_title} 

工程说明

1. 工程概况

本工程为xx公司web业务设计、建设工程;工程项目位于xxxxxx园,本次项目内容包括:基于办公场地及xx公司办公业务需求设计合理web业务方案及相关建设。

2. 项目组织系统

项目初步估计两套网站业务在日常并发约5000,活动期间用户并发约为20W。要实现网络建设的实用性,后期业务扩张的可扩展性,对网站内部的数据、数据访问传输信息的安全的保障,避免非法用户访问和攻击。保证网站可以不间断的24小时为客户服务。做到便于后期运维人员维护管理。整体的预算要可控,性能要达到使用要求。项目综合整体架构主要由应用层、服务层、数据层、管理层组成。通过负载均衡、前后端分离、缓存技术等技术提高该提高该系统的并发量;由于公司还有对数据维护有相关业务需求,因此需要根据公司需求部署站库分离,实现数据易维护;使用身份认证技术实现运维审计及外网员工更安全的进入运维平台。

建设项目名称:xx公司web业务建设

建设单位名称:xx公司

施工单位名称:xx公司


一、需求分析

建设原则

高性能:提供快速的访问体验。

高可用:网站服务可以24小时不间断正常访问。

可伸缩:通过硬件增加/减少,提高/降低处理能力。

安全性:提供网站安全访问和数据加密,安全存储等策略。

扩展性:方便的通过新增/移除方式,增加/减少新的功能/模块。

敏捷性:随需应变,快速响应;

1.1 架构需求分析

分层:将整个项目分为应用层、服务层、数据层、管理层四个层次。

分割:按照模块进行划分,比如应用层分为首页,用户中心。

分布式:将应用分开部署(比如多台物理机),通过远程调用协同工作。

集群:一个模块部署多份(如:多台物理机),通过负载均衡共同提供对外访问。

缓存:将数据放在距离应用最近的位置,加快访问速度。

冗余:增加副本,提高可用性,安全性,性能。

安全:对已知问题有有效的解决方案,对未知/潜在问题建立发现和防御机制。

敏捷性:积极接受需求变更,快速响应业务发展需求。

1.2 高性能的需求分析

以用户为中心,提供快速的网页访问体验。主要参数有较短的响应时间,较大的并发处理能力,较高的吞吐量,稳定的性能参数。

使用缓存,异步,集群等。

1.3 高可用的需求分析

网站应该在任何时候都可以正常访问。正常提供对外服务。

不同层级使用的策略不同,采用冗余备份和失效转移解决高可用问题。

应用层:一般设计为无状态的,对于每次请求,使用哪一台服务器处理是没有影响的。使用负载均衡技术,实现高可用。

服务层:负载均衡,分级管理,快速失败(超时设置),异步调用,服务降级,幂等设计等。

数据层:冗余备份(冷,热备[同步,异步],温备),失效转移(确认,转移,恢复)。

1.4 可伸缩的需求分析

伸缩性是指在不改变原有架构设计的基础上,通过添加/减少硬件(服务器)的方式,提高/降低系统的处理能力。

应用层:对应用进行垂直或水平切分。然后针对单一功能进行负载均衡。

数据层:分库,分表等;常用算法Hash,一致性Hash

1.5 安全的需求分析

对已知问题有有效的解决方案,对未知/潜在问题建立发现和防御机制。对于安全问题,首先要提高安全意识,建立一个安全的有效机制,从政策层面,组织层面进行保障。比如服务器密码不能泄露,密码每月更新,并且三次内不能重复;每周安全扫描等。以制度化的方式,加强安全体系的建设。同时,需要注意与安全有关的各个环节。安全问题不容忽视。包括基础设施安全,应用系统安全,数据保密安全等。

基础设施安全:硬件采购,操作系统,网络环境方面的安全。一般采用,正规渠道购买高质量的产品,选择安全的操作系统,及时修补漏洞,安装杀毒软件防火墙。防范病毒,后门。设置防火墙策略,建立DDOS防御系统,使用攻击检测系统,进行子网隔离等手段。

应用系统安全:在程序开发时,对已知常用问题,使用正确的方式,在代码层面解决掉。防止跨站脚本攻击(XSS),注入攻击,跨站请求伪造(CSRF),错误信息,HTML注释,文件上传,路径遍历等。

数据保密安全:存储安全(存在在可靠的设备,实时,定时备份),保存安全(重要的信息加密保存,选择合适的人员复杂保存和检测等),传输安全(防止数据窃取和数据篡改)。


二、项目规划技术要点

2.1 项目拓扑图

根据对xx公司实地考察以及项目的需求分析,符合该项目需求拓扑规划如下: 

{xunruicms_img_title}{xunruicms_img_title} 

2.2 项目地址规划

{xunruicms_img_title} 

{xunruicms_img_title} 

 

 

2.3 应用层

LVS+keepalived高可用负载均衡集群。

Keepalived的设计目标是构建高可用的LVS负载均衡集群,可以调用ipvsadm工具来创建虚拟服务器,管理服务器池,而不仅仅用作双机热备。使用keepalived构建LVS集群更加简便易用,主要优势体现在对LVS负载调度器实现热备切换、提高可用性、对服务器池中的节点服务器进行健康状态检查、自动移除失效节点、加入有效节点等功能。

2.4 服务层

Nginx是一个高性能的HTTP、反向代理服务,其特点是占有内存少,并发能力强,nginx的并发能力在同类型的网页服务器中表现较好,在整个web应用程序的生产环境使用率中,该软件名列前茅。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

2.5 数据层

2.5.1 MySQL双机热备

MySQL主从复制的目的是实现数据库冗余备份,将master数据库数据定时同步到slave库中,一旦master数据库宕机,可以将web应用数据库配置快速切换至slave数据库,确保web应用有较高的可用性。

2.5.2 MySQL读写分离

当需要进行读写分离时,必须先进行部署主从复制mysql

简单来说,读写分离就是只在主服务器上写,在从服务器上读。基本的原理是让主数据库处理事务性查询,而从数据库处理select查询。数据库复制被用来把事务性查询导致的变更同步到群集中的从数据库。

2.5.3 数据库缓存服务器--Redis

Redis 是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串,散列,列表,集合,有序集合与范围查询,bitmaps hyperloglogs 和 地理空间索引半径查询。Redis内置了复制,LUA脚本,LRU驱动事件,事务和不同级别的磁盘持久化,并通过 Redis哨兵和自动分区提供高可用性。

2.6 管理层

2.6.1 Zabbix

Zabbix是一个基于Web界面的企业级开源监控套件,提供分布式监控系统与网络监视功能。具备主机的性能监控,网络设备性能监控,数据库性能监控,多种告警方式,详细报表,图表的绘制等功能。监测的对象可以是LinuxWindows服务器,也可以是路由器,交换机等网络设备。通过SNMPSimple Network Management Protocol,简单网络管理协议),Zabbix AgentPING。端口监视等方法提供对远程网络服务器等监控,数据收集等功能,并提供通知机制使系统管理员可以快速定位,解决系统中存在的各种问题。

2.6.2 JumpServer堡垒机

堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责。集中管理功能。

2.6.3 日志服务--rsyslog

centos7系统中,默认的日志系统是rsyslog,它是一类unix系统上使用的开源工具,用于在ip网络中转发日志信息,rsyslog采用模块化设计,是syslog的替代品。实现了基本的syslog协议,直接兼容syslogdsyslog.conf配置文件,在同一台机器上支持多个rsyslogd进程,支持多线程,丰富的过滤功能,可以实现过滤日志信息中的任何部分,可将消息过滤后在转发,灵活的配置选项,配置文件中可以写简单的逻辑判断,自定义输出格式等,增加了重要的功能,如使用tcp进行消息传输,支持UDP,TCP,SSL,TLS,RELP,有现成的前端web展示程序,可以使用MySQL,PGSQL,Oralce实现日志存储。

2.7 硬件资产清单

{xunruicms_img_title} 

2.8 主要硬件设备参数

服务器:超聚变2288HV5,主要参数如下:

{xunruicms_img_title} 

交换机:华为数通智选S5735S-L32ST4X-A1(A),主要参数如下:

{xunruicms_img_title} 

防火墙:华为USG6110E-AC,主要参数如下:

{xunruicms_img_title} 

 

 


大家都在看

java开发培训技术学校

2022-12-19 浏览次数:0

web前端框架哪个好?前端框架的区别

2022-12-19 浏览次数:0

Java需要额外的专业培训吗?成都学Java,哪...

2022-12-19 浏览次数:0

考研在即,你是哪一类的考研党?佛系、鸡血、氛围党...

2022-12-19 浏览次数:0

Java职业规划怎么做?职业规划要趁早

2022-12-19 浏览次数:0

什么是 CSRF 攻击,如何避免?防止csrf攻...

2022-12-19 浏览次数:0
最新资讯
知了出品——web网站工程项目... 在当下,做一个web网站工程项目,真正重要的恰恰是前期的需求分析与规划,就好像你得先决定好目的地,才...