对系统架构设计的思考

本文探讨了系统架构设计的八大原则,包括分层分级、重点处理核心模块、让Web接入层轻装上阵、业务处理层设计、数据层划分、用户行为与系统行为的区分、必要路径的处理以及更新查询操作分离。强调了架构的柔性、模块化和容错性,以实现系统的高效稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,分层分级,设计需要具有柔性。
    分层就是说对系统进行多层次的切分,在常见的B/S架构设计中,我们常常分成:web接入层,逻辑处理层

,数据层(可能又分成cache层和Db/file层)。上层的只能调用下层的服务而不能进行跨层调用,比如web接入层只能调用逻辑处理层,而不能直接调用数据层。上层保护下层,而下层通过接口为上层提供服务但永远不相信上层并且验证上层的输入。

   有时候,我们对各个层可能还需要根据实际情况进行分级,比如逻辑处理层,可能再分成逻辑处理层

level1,level2.level3等。

   各个层的设计需要具有柔性和大气(freeman语)。我的理解,柔性包括了几个方面:
1,可以快速植入新的逻辑而系统架构不需要过多的调整和重构,实现“既来之,则安之”;
2,可以根据需要快速而低成本的卸装不需要的逻辑和模块。

 

二,抓住主要模块并重点处理和实现好核心模块。
   系统设计首先离不开系统分析,在分析中,我们首先对模块进行拆分,按优先级分成p0,p1,p2等,并且我们需要花精力重点处理和实现好核心模块,那什么是核心模块呢?就是说系统离开了这个模块根本跑不起来,根本玩不转。


三,让web接入层轻装上阵。
  web接入层的运转需要web server的支持,或者说web进程是在web 容器中运转的,因此,web接入层的性能跟web 容器密切相关,在设计中,我们常常把更多的业务逻辑放到接入层来实现,在快速的实现和没有性能压力的情况下看似没问题,但我们不推荐这样的做法。顾名思义,web层的主要工作就是负责接入和转发,自己不处理业务逻辑。在实现中,web层只负责:输入参数验证,转发请求到后台(业务处理层)处理,接收后台数据输出并进行模板替换和数据显示等功能。

 

四,业务处理层。
   业务处理层是系统的主要核心,主要由承担各个业务模块的server群组成,这些server分成:调用第三方接口的中转server,调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值