系统架构设计的十大原则
最近读陈皓老师的《我做系统架构的一些原则》(来源于CoolShell),收获很大。原文过长,有些也相对专业,以下是我的一些摘录、注解和评论。其中的很多经验和建议,我觉得远远不只是针对IT、软硬件系统的架构设计和开发,也适用于企业组织架构、商业模式,甚至任何复杂系统的规划、设计和实现。
这篇文章适用于技术开发者、架构师、企业管理人员,以及其他喜欢思考、学习的朋友。
原则一:关注于真正的收益而不是技术本身
系统架构最重要的是「总体收益」。如果不说收益,只是为了技术而技术,就没有任何意义。
就收益而言,我觉得下面这几点是非常重要的:
是否可以降低技术门槛,加快整个团队的开发和发布速度。系统架构需要能够进行并行的开发、上线和运维,而不让某个团队或者单个人成为瓶颈;
是否可以让整个系统运行得更为稳定。需要对有计划和无计划的停机做相应的解决方案。(参考我的文章《紧急事件的管理方法和实践》);
是否可以通过简化、自动化,降低成本。最需要优化的成本是人力成本,人的成本除了慢和贵,还有各式各样的人为错误。如果
系统架构设计的十大原则相关推荐
- 架构思维成长系列教程(七)- 大型电商系统架构设计
背景 大型电商网站,指的是每日用户访问量达到数百万,每日页面访问量达到数千万乃至上亿级别的网站,达到这个规模的电商网站在国内不多. 内容 架构设计分为两部分:应用架构设计和基础架构设计 应用架构设计: ...
- 浅谈系统架构设计-从架构设计原理、架构设计原则、架构设计方法展开
我们工作中一直强调要做架构设计.系分,最近前端同学在追求前端质量提升的时候,也在进行架构设计.前端系分的推广,那到底什么是架构设计和系分?该怎么做架构设计和系分?本文尝试对架构设计进行全面的介绍和分享 ...
- 产品设计-尼尔森十大可用性原则
产品设计-尼尔森十大可用性原则 1.反馈原则 系统应该在合理的时间.用正确的方式,向用户提示或者反馈目前系统在做什么.发生了什么.人机交互的基本原则是,让系统和用户之间保持良好的沟通和信息传递 ...
- 大数据用户画像系统架构设计
文章目录 一.用户画像数据仓库搭建.数据抽取部分 二.大数据平台.用户画像集市分层设计.处理 三.离线计算部分 四.实时计算部分 五.Solr/ES搜索引擎部分 六.Java Web毫秒级实时用户画像 ...
- 系统架构设计模块拆分维度和原则
在我们从零开始做一个新系统的时候,会首先进行系统功能模块架构设计,那么是直接做一个大而全的垂直的MVC系统,使用一个war包进行发布管理,还是需要按一些规则进行模块拆分,设计成SOA或者微服务系统比较 ...
- 什么是真正的架构设计?十年Java经验让我总结出了这些,不愧是我
一. 什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解. 此君说的架构和彼君理解的架构未必是一回事.因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识 ...
- 坐等膜拜|什么是真正的架构设计?十年Java经验让我总结出了这些,不愧是我
一. 什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解. 此君说的架构和彼君理解的架构未必是一回事.因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识 ...
- 程序员过关斩将--从未停止过的系统架构设计步伐
" 首先,这篇文章肯定会得罪一些人 " 其次,此文只代表我个人的意见,仅供参考 从分层说起 谈到系统架构的分层和系统领域边界的划分,每个架构师,每个技术经理,甚至每个程序员都有自己 ...
- 插件式架构设计实践:插件式系统架构设计简介
本系列博文将使用微软RIA技术解决方案Silverlight以及扩展性管理框架Managed Extensibility Framework(MEF),以插件式架构设计为导线,分享本人在从事基于微软S ...
- 什么是系统架构设计:关于架构演进理论
什么是系统架构设计:关于架构演进理论 在过去软件开发过程发展的很长一段时间内,软件架构表现为一种集中式的单块(Monolithic)式,即先对系统进行分层,然后通过单个进程进行部署和维护,典型的分层体 ...
最新文章
- 计算机协会成立活动简报,“中国计算机学会CCF走进高校”活动在我校举行
- 同步SQL Server 2000 数据库
- Mybatis-plus常用API全套教程,看完没有不懂的
- C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例
- retinaface人脸对齐
- Python面向对象2:类与对象的成员分析及self
- Win docker 桌面版报错error during connect: This error may indicate that the docker daemon is not running
- Java之多线程里面的锁理解以及synchronized与Lock的区别
- UVA 662 Fast Food
- 10.Object类
- 树形可拖拽排序配置组件
- Nodejs 4.0 ES6特性
- 原子结构示意图全部_所有原子结构示意图(1-118号)最新元素周期表
- 单招面试问为什么选择计算机这个专业,单招面试常见问题及答案 面试要注意什么...
- 解决双屏切换为单屏,打开的软件窗口无法显示问题
- 【机房重构】-UNL图回顾
- NASA WIND卫星观测数据作图——origin
- Eclipse4.2安装FlashBuilder插件
- 秋招提前批面试汇总(嵌入式+c++面经)国电南自 vivo 乐鑫 中兴 大华 联发科 中科创达 腾讯 绿盟 速腾 科大讯飞 深信服 商汤 海康持续更新
- 科技创业的新规律:先创业、再创意