`
cleverpartner
  • 浏览: 4436 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

架构设计总体设计原则 -- 架构设计思考点

阅读更多
一个好的架构设计不全是考虑有多么先进的技术,相反先进的技术仅是其中一个很小的点。在此偶分享一下设计经验,主要是为了将自己的经验记录下来,以免以后忘了!毕竟已经开始慢慢不做技术了,担心再过几年已经没有能力写出这些内容来了。

在偶看看一个架构首要重要的就是要做到全面考虑问题,在此偶列出一些容易忽略的设计点(尤其是刚开始做架构设计的设计师):

1、设计时一定要考虑将来如何发布和更新
面对一个7X24小时的系统,如何停机更新?显然一次停机升级影响较非常大,例如:银行核心业务系统,能停机吗?停机的代价是否很大?
1)争取做到只有在代码变更的情况下才需要停机升级,估计很多人都觉得这是废话:当然只有代码变化了才可能发布,对可能大家都是这么想的,但未必这么做了,例如:将全局变量的值写在常量类中,如果此全局变量改变,那么当然是需要更改代码的,在此我所说的这类错误的代码变更就是需要在设计过程中需要特别注意的(后面我会有文章介绍如何做常量、全局变量的设计另外,对于有些经验的架构师可能会发现做小系统的架构比较容易,但对于复杂系统的架构就完全不一样了,复杂系统通常有多台服务器,而且每台服务器上还有多个端口对外服务);
2)在更新时也尽量保证有一台可以对外提供服务的系统,发布要分为两部分:数据库脚本和程序更新,其中:数据库脚本一定要控制不能现有应用,因为此次还有老应用正在运行;应用程序的更新可以一台一台的更新,因此需要提供一台备用应用服务器,平时不对外提供服务,每次发布时,先发布这台备用机器,在此备用机器上验证了完之后,再正式更新在线应用,在正式更新前请将对外服务指向那台备用服务器,然后再更新原来的在线应用;
3)在未做Session复制的情况一下一定要提供Failover机制,防止在更新时影响用户,有人会觉得奇怪为什么不做Clustering,利用Clustering就直接Session复制了,我请问如果有10000的在线用户,一个用户的Session有10K大(不算太大吧),请问Session的有多大?仅Session就要占掉每台应用服务器100M的内存,请问Java的堆内存最大能设多大?另外,如果频繁的Session复制AdminServer是否能撑住?

2、要考虑在线验证方案
什么叫在线验证?就是在新上功能只能如何验证整个系统是正常的?各位是否遇到在新上功能后不知道如何合理进行验证,某些人就是直接在生产环境中用特定的数据进行测试,但请问如果是银行核心系统,要存款和取款如何测试?难道我首先存一笔,然后再取出来?看起来不太合理吧?我推荐各位一种方法:在生产系统中就是单独建立一批虚拟数据,加入是银行,那么可以建立一个虚拟机构,在此机构下建立的所有数据都是测试数据,这时就可以放心测试了。

3、架构设计要注意当系统换代之后还希望留下些什么有价值的东东
任何一个系统都有下线的时候,那么当下一代系统开发时,当前这代还能留下什么东东?如果能留下的东东,那么就要注意设计,或者能够组件化等。
分享到:
评论

相关推荐

    6G网络架构展望白皮书

    第三章新架构思考,聚焦在网络功能层面,阐述6G网络的逻辑功能和工作机制;第四章新架构核心特征,阐述新架构有别于5G的关键特征;第五章新架构新业务,阐述新架构如何支持沉浸式XR、元宇宙、空天地一体、自治专网等...

    家族企业股权结构的优化设计.doc

    总体来看,股权结构优化要遵循“战略先行、市场导向、结构优化、动态管理”的原则。 具体来讲,有七点思考: 重新制定公司战略,依靠未来3-5年战略规划对历史问题和待决策问题达成共识。董事会应当对下列问题反复...

    软件设计规范

    原则是,每段代码,每处需要理解的地方,如果和总体架构相关,就要有说明。 软件领域需要简化。需要还原软件本来的面目。EDA有泛滥的趋势,软件的各个方面都需要简化。软件形态、需求分析、文档说明、开发工具等。 ...

    asp.net知识库

    Asp.net 2.0功能体验,总体设计思想 Asp.net 2.0 WebPart使用经验点滴 革新:.NET 2.0的自定义配置文件体系初探 关于如何在ASP.NET 2.0中定制Expression Builders 怎么在ASP.NET 2.0中使用Membership asp.net 2.0-...

    校园网网络构建方案设计与实现.doc

    校园网的总体设计原则是: (1) 开放性 采用开放性的网络体系,以方便网络的升级、扩展和互联;同时在选择服务器、网络产 品时,强调产品支持的网络协议的国际标准化; (2) 可扩充性 从主干网络设备的选型及其模块...

    XXX网络安全系统设计方案.txt

    …… 9 3.2 网络安全系统设计的原则 …… 9 3.3 安全防范方案设计构思 …… 10 3.4 总体设计架构 …… 12 3.5 防火墙系统设计 …… 13 3.5.1 方案原理…… 13 3.5.2 设计目标…… 14 3.5.3 部署说明…… 14 3.5.4 ...

    校园网网络构建方案设计与实现(1).doc

    校园网的总体设计原则是: (1)开放性采用开放性的网络体系,以方便网络的升级、扩展和互联;同时在选择服务 器、网络产品时,强调产品支持的网络协议的国际标准化; (2) 可扩充性 从主干网络设备的选型及其模块、...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     事务控制语言(Transactional Control Language,TCL),用于维护数据的一致性,包括COMMIT(提交事务)、ROLLBACK(回滚事务)和SAVEPOINT(设置保存点)3条语句 二、 Oracle的数据类型 类型 参数 描述 字符类型...

    遵循协议:为互联网时代建立一个三维公共政策框架-研究论文

    特别是,认识到互联网正在Swift成为社会的主要操作系统,本文说明了总体的公共政策框架应如何忠实于网络世界的多面性。 作为该框架的一部分,本文将探讨Internet的一个关键方面:“逻辑”中间层功能,其内部工作...

    发挥医疗大数据的价值.pdf

    这些资源具有很高的价值却 没有得以充分利用,如何让这些数据发挥价值,为 医院各项工作提供服务,是值得每一个医院思考的 课题。 医院大数据分析平台的构建 医院信息应用系统在日常医疗和管理中积累了 大量历史数据...

Global site tag (gtag.js) - Google Analytics