论架构的“道”、“法”、“术”

很早就想写一篇关于架构的“道”和“术”的文章。但苦于一直没有参透架构之道。

关于“道法术器”,出自老子的《道德经》。后人的理解是:道是根本性的规律;法是一般性的原则;术是具体的实践方法;器是工具;势是当前的客观条件和形势。

道法术的关系

作为一种经典的思维方法论,我想从一个架构师的角度,分析下架构的道法术。

1.架构之道

可以参看《架构整洁之道》这本书。整洁架构是最基本的原则。

另外,一些普适性的架构原则有:

Kiss原则
“Keep is simply and stupid”,这是对简单性原则的一种说法。大道至简也就是这个道理。

最小代价(努力)原则
就是说我们应该尽可能在一开始的时候做出正确的选择,因为一旦这个架构设计出现,后面的人很有可能不愿意为了更好的架构而改进,而是遵循已有的设计。

最小意外原则
好的架构应该避免意外,遵守通用的规范和习惯,代码也是。这些意外其实是软件架构和设计中的复杂因素。最小意外也是意味着尽可能的简单。

Dry原则
“Don’t repeat yourself”。遇到重复的代码,往往是重构的开始。

又比如,分布式系统里经典的CAP理论和BASE理论。这里不再赘述。

2.架构之法

比如,在分布式系统中,解决高性能、高可用、高并发等问题的常用方法。

高可用:负载均衡与反向代理、隔离、限流、降级、超时与重试、回滚、预案等。

高并发:缓存、异步、弹性扩容等

高性能:压测、性能调优等。

当然这几种维度之间并不是互相独立的,比如高并发其实也可以看做是性能的一种表现。关键在于融会贯通

3.架构之术

主要是围绕解决“三高”问题的一些具体的开发实践、开发工具和开发技巧:

作为spring的深度使用者,推荐大家看下王福强的《spring揭秘》一书,从中我们可以深入了解到spring设计的技巧。

另外,推荐大家去看《亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统》,作者张开涛,相信不少人曾经读过他的技术博客。里面的内容都是作者对工作过程中的一些思考和总结。

还有高可用架构社区著的《高可用架构》一书,也比较不错,在不同领域中都有相应的案例分析和解决方案。

笔者曾经投入2年的时间,从0到1建设了公司使用的java后台开发框架。

更多的术,请大家移步我的专栏:如何搭建企业级后端框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值