Chinaunix首页 | 论坛 | 博客
  • 博客访问: 519700
  • 博文数量: 78
  • 博客积分: 995
  • 博客等级: 准尉
  • 技术积分: 1462
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-15 20:22
个人简介

技术中沉思的时候最快乐,问题得到完美解决的时候最有成就感!

文章分类

全部博文(78)

文章存档

2013年(39)

2012年(37)

2011年(2)

分类: 架构设计与优化

2013-04-10 10:55:26

    糟糕的架构会把项目推到万劫不复+举步维艰的境地;好的架构是成功的一半;
    这句话是我对架构的极其深刻的体会;

    好的架构需要:

    1,KISS
        kiss 是linux的核心思想,同样,对于架构也一样;简单的才会优美,如果一开始就复杂,到后面基本上会失控;
        简单才是美,简单才稳定,简单才长久;拒绝不必要的复杂...

    2,解耦
        i)  单个程序内的代码架构需要做到各个类或者各个模块一定解耦,要形成合理的金字塔似得调用关系,绝对拒绝
            网状的调用关系;
            注:函数回调对于这种模块解耦非常关键,非常关键!
        ii)  分布式系统内各子系统间也要形成金字塔似的关系;绝对避免上下层级模糊或者不分的情况
            注:类似rpc似得回调对于这种解耦非常关键!

    3,主干+插件
        大型或者长久的系统一定要形成主干+插件的格局,这样才能避免随着业务需求的增删改造成系统腐化到不可收拾
        的地步;主干+插件的格局能保证主干集中于主流程上,保证主干永远精简稳定可维护;非主干需求采用插件形式
        注入到主干里面,这样保证插件的灵活,简单,各插件之间完全透明,主干对插件透明;
        注:完善的监听广播机制 是形成这种主干+插件格局的彻底解决办法;

    4,容忍异常,关注边界
        对于分布式系统,异常/失败都是常见且必现的,有效简洁的处理异常,处理一些边界情况是系统能否稳定,能否
        正常运行,能否成功的关键;更是一个系统能否达到工业级别的最关键的检验方式!
        注:设计系统,做架构,除了主流程之外,最需要的就是把一些可能出现的特殊情况,边界情况,异常情况都列
        出来,然后针对每种情况都要做出简洁的有效的方案;但用最简洁的方式处理即可,毕竟他们出现的概率不大!

    5,透明
        监控监控再监控,统计统计再统计!!
阅读(3423) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~