架构传说

2016/10/16 技术

她有时飘渺 有时真实

她有时不可捉摸 有时又一目了然如此清晰

她有时像团乱码千头万绪 有时有条不紊

她有时看着像这 有时又像那

远观像山 近看像水

雾里看花 水中望月 可谓神龙见首不见尾

像雾 握在手里 打开却又不见

像梦 一切都是那么真实 醒来一切都成空

在我们心中 她就是一个传说 可远观而不可亵玩焉

架构宣言

  • 像架构师一样思考
  • 不做错误的假设
  • 经验往往会误导你的设计

架构定义

有没有想过我们为什么要做系统架构,什么是架构,架构的终极目标又是什么?答案是我们需要把系统进行高度抽象,使其变的有秩序,方便管理维护和可扩展。

千言万语汇成一句话,架构是为了隔离,隔离的是变化。

架构的终极目标就是将『变化』收敛,常言到『条条大路通罗马』,既然我们有目标,那不管采用什么手段,只要能达到『收敛变化』的目的架构就是一个好架构。毛主席也说了『不管黑猫白猫能抓到老鼠的就是好猫』,这是典型的实践思维。

既然大家的目标都是一致的,所以系统间的架构是可以互相借鉴的,也会有一些固定架构模式的。授人以鱼不如授人以渔,掌握架构的基本规律和方法论,便可以不变应万变,万变不离其宗,从而立于不败之地。

架构模式

分层架构

最常见的架构方式就是分层架构,比如说 MVC,上层依赖下层,而下层不能反向依赖上层,通过这种设计达到封装的目的,同时每层实现变化的隔离。分层架构是简单也最通用的架构方式,如果没有充足的理由,以分层架构为起点将是最好的选择。

微内核插件架构

事件驱动架构

Actor 模型

SEDA

Reactor

微服务架构

微服务与 SOA

Lamda 大数据架构

云计算

IaaS

PaaS

SaaS

云计算与 SOA

架构方法论

4+1 视图架构方法

DDD 领域驱动建模

架构原则

如果说架构模式是招式的话,那么架构原则就是内功。只会招式而没有内功来催动,那么招式也将是有形无神;只会心法而没有招式,那么再好的内功心法也只是摆设,有力使不出。所以这 2 者相辅相成,缺一不可。 而做为一名架构师需要将两者融汇贯通,顺手捡来,方能化万物于无形。

API 与 SPI 分离

服务域会话域实体域分离

重要过程设置拦截接口

重要状态变更设置监听接口

接口职责单一保证可组合性

不要控制外部对象的生命周期

可配置一定可编程并保持友好的CoC约定

区分命令与查询明确前置条件和后置条件

增量式扩展而不要扩充原始核心概念

案例

Racing 架构

Spring 架构

打赏作者一杯

渣渣程序狗

文章内容导航