本文主要是介绍对系统架构设计的思考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一,分层分级,设计需要具有柔性。
分层就是说对系统进行多层次的切分,在常见的B/S架构设计中,我们常常分成:web接入层,逻辑处理层
,数据层(可能又分成cache层和Db/file层)。上层的只能调用下层的服务而不能进行跨层调用,比如web接入层只能调用逻辑处理层,而不能直接调用数据层。上层保护下层,而下层通过接口为上层提供服务但永远不相信上层并且验证上层的输入。
有时候,我们对各个层可能还需要根据实际情况进行分级,比如逻辑处理层,可能再分成逻辑处理层
level1,level2.level3等。
各个层的设计需要具有柔性和大气(freeman语)。我的理解,柔性包括了几个方面:
1,可以快速植入新的逻辑而系统架构不需要过多的调整和重构,实现“既来之,则安之”;
2,可以根据需要快速而低成本的卸装不需要的逻辑和模块。
二,抓住主要模块并重点处理和实现好核心模块。
系统设计首先离不开系统分析,在分析中,我们首先对模块进行拆分,按优先级分成p0,p1,p2等,并且我们需要花精力重点处理和实现好核心模块,那什么是核心模块呢?就是说系统离开了这个模块根本跑不起来,根本玩不转。
三,让web接入层轻装上阵。
web接入层的运转需要web server的支持,或者说web进程是在web 容器中运转的,因此,web接入层的性能跟web 容器密切相关,在设计中,我们常常把更多的业务逻辑放到接入层来实现,在快速的实现和没有性能压力的情况下看似没问题,
这篇关于对系统架构设计的思考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!