糟糕的架构会把项目推到万劫不复+举步维艰的境地;好的架构是成功的一半;
这句话是我对架构的极其深刻的体会;
好的架构需要:
1,KISS
kiss 是linux的核心思想,同样,对于架构也一样;简单的才会优美,如果一开始就复杂,到后面基本上会失控;
简单才是美,简单才稳定,简单才长久;拒绝不必要的复杂...
2,解耦
i) 单个程序内的代码架构需要做到各个类或者各个模块一定解耦,要形成合理的金字塔似得调用关系,绝对拒绝
网状的调用关系;
注:函数回调对于这种模块解耦非常关键,非常关键!
ii) 分布式系统内各子系统间也要形成金字塔似的关系;绝对避免上下层级模糊或者不分的情况
注:类似rpc似得回调对于这种解耦非常关键!
3,主干+插件
大型或者长久的系统一定要形成主干+插件的格局,这样才能避免随着业务需求的增删改造成系统腐化到不可收拾
的地步;主干+插件的格局能保证主干集中于主流程上,保证主干永远精简稳定可维护;非主干需求采用插件形式
注入到主干里面,这样保证插件的灵活,简单,各插件之间完全透明,主干对插件透明;
注:完善的监听广播机制 是形成这种主干+插件格局的彻底解决办法;
4,容忍异常,关注边界
对于分布式系统,异常/失败都是常见且必现的,有效简洁的处理异常,处理一些边界情况是系统能否稳定,能否
正常运行,能否成功的关键;更是一个系统能否达到工业级别的最关键的检验方式!
注:设计系统,做架构,除了主流程之外,最需要的就是把一些可能出现的特殊情况,边界情况,异常情况都列
出来,然后针对每种情况都要做出简洁的有效的方案;但用最简洁的方式处理即可,毕竟他们出现的概率不大!
5,透明
监控监控再监控,统计统计再统计!!
阅读(3432) | 评论(0) | 转发(0) |