- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析系统架构
浅析系统架构
曹刚
MySQL专家组核心成员
2008-11-1
主要内容
什么是系统架构
系统架构目的以及方法
需求分析
系统划分
确定系统硬件配置
软件开发过程
系统维护
什么是系统架构
系统架构目的:
单纯的软件开发并不等于系统架构,如果仅仅
只考虑软件开发,那么这样的系统在实际运行中
会出现各种各样的问题,甚至于无法解决。因此
,系统架构的目的有以下几点:
一:保证系统稳定性
二:保证系统拥有良好的扩展性
三: 保证系统具有良好的伸缩性
四:保证系统易维护
五:保证系统易移植
六:获得高性价比
某大型社区服务器结构图
临时的解决方案
较理想的方案
不同的业务采取不同的架构
系统架构方法及步骤
早期软件开发中,开发过程混乱,重复工作多,且维护成
本高。在随后的发展中,出现了软件工程学科,软件工
程科学的指导软件开发,科学的对软件开发过程进行管理
以及指导。因此,在系统架构中,我们必须严格遵循软
件工程开发过程,对软件开发项目进行合理的管理。在
系统构架上,我们需要从网络结构、硬件选型、软件选
型、软件架构、系统维护、成本核算等方面进行综合考
虑。一般构建一个系统,我们会按照以下几个步骤进行
。
需求分析
在整个系统构架之初,需求分析是整个构架的基础。但
是需求的收集、了解又是非常困难的,对于用户来说,
他们的需求可能通常只有一句话,这一样会为整个开发
带来困难。因此,在这个过程中我们一般需要选取对业
务熟悉的人员和用户沟通需求,了解整个系统的需求。
有三种开发模式可以选择:瀑布式、迭代式、螺旋式
系统划分以及网络结构
需求明确以后,我们需要对需求进行一个整体上的理解。对
需求的理解程度会直接影响软件结构,一旦出现问题,其结
果是不可预计的。在此基础上我们需要根据需求,将整个系
统根据功能划分成若干个子系统。开发环境与生产环境存在
较大区别,因此此时需要和网络运营人员确定系统在生产环
境中的部署方案,完成系统网络结构拓扑图以及数据流程图
以方便系统维护和系统开发。此外,还需要充分考虑,系统
的可维护性。
确定系统硬件配置
确定各子系统所需硬件,在不同子系统中,因承担不同的任
务,对硬件的需求也不尽相同。例如,Apache服务器,一
般仅用来处理用户请求,不承担存储等任务,并且在系统,
添加Apache服务器又是比较容易的,所以一般只选择cpu处
理能力较强,内存适中的服务器就可以了。像cache服务器
来说,主要用来缓存经常访问的数据,因此在选择服务器上
来说,需要使用内存较大,处理速度较快的服务器。
软件开发过程
经过以上几个环节,系统中网络结构、硬件环境都已经确定
,完成了概要设计部分。现在需要确定软件开发环境,并且
需要保证开发环境与生产环境软件环境一致,以避免在生产
环境中出现一些不可预料的问题。在这个过程中,最主要是
软件系统的实施,在软件开发中,我们一般需要遵守以下一
些过程,完成详细文档、编码等工作。
软件设计的一般流程
选择场景(关键步骤,有风险)
标识主要的类和它们的责任
给类分配行为
子系统结构,层,定义接口
定义分配和并发性
实现体系架构原型
从用例导出测试用例
评估体系架构
设计过程
选择体系架构质量属性需求
设计体系架构
编写体系架构文档
分析体系架构
实现体系架构
维护体系架构
每一个步骤包括:
输入
建设性活动
验证活动
输出
系统进入生产环境及维护
系统进入生产环境后,需要对系统运行情况进行监控,一般
在上线初期可以与运维部门一起进行,等系统运行稳定后。
由运维部门独立监控。一般初期需要监控的数据有:cpu使
用率、内存使用率、磁盘使用情况(占用空间,磁盘I/O等。
在维护阶段,我们需要考虑数据备份策略、系统恢复策略、
以及系统扩容等问题。
谢谢大家!
文档评论(0)