zoukankan      html  css  js  c++  java
  • web2.0架构师的能力

    1. 熟知你的业务模式和目标人群
       架构师从某种程度上讲也是也是产品经理。

    2. 了解负载均衡策略实现
    (1)发展初期,适当的考虑数据库分拆和按照业务进行域名分拆就足够了。
    (2)中等规模的情况下,可能需要适当的采纳迎驾或者软件Load-Balancer,在这种场景中:
         Web层面的负载均衡可以通过F5/NetWare等硬件来实现。选择Apache或者更加专业的负载均衡软件也是未尝不可。 比如Windows下的NLB和Linux下的LVS。
         应用层面,适当的调整,至少不能够随信所欲的使用Session变量(其实也未必完全不可用)。而一旦采用了缓存(例如MemCached),如果考虑不周全,本来单机环境下好好的程序就会变得乱七八糟,本质上无非是数据不同步的问题。
        总之,作为Web Arch.必须了解负载均衡策略的不同实现。

    3. 设计“合理”的存储
           不可能把素有的东西存储在一个关系数据库中。
           传统的存储分为SAN、NAS、DAS。 随着技术发展,边界已经越来越模糊。 不同的预算与需求采用不同的方案。当然,也可能有人热衷通过相对廉价的设备构建诸如GFS那样的存储架构。  
           初期,不需要太多精力考虑,只要大致测算出一台服务器的容纳能力,然后估算出在到达容纳能力上限的一般左右,就需要考虑升级了。
          
    4. 异构平台的整合能力    
       主流的3个平台,.NET/Java/LAMP,还有,Phyton,ror....等等。企业应用角度,应该尽可能避免异构,但Web架构师来说,并非如此。
       比如,你的大多数应用是.NET写的,但是你需要提供一个论坛,你采用了DiscuZ,就需要对PHP了解,否则连统一登录的问题都没有办法解决。    
       作者的看法:一个好的架构师最好能同时熟悉两种操作系统,两个以上的开发语言。一个方面是现实世界的业务复杂度,一个方面是既然会存在不同的平台,
    那必定有其合理性。也就是:一个好的架构师应该有异构平台的处理能力的。

    5. 设计更好的交互

    (原文如此,我理解作者的意思是:更广的技术视角、更好的技术选型能力) 例如Ajax等,并非让架构师去对细节技术了如指掌,但是需要架构师清楚优缺点,并技术选型(原文:规定应该用什么,怎么用,那些不可用)。

    6. 性能和故障诊断

  • 相关阅读:
    poj2263
    poj2304
    低调是态度,也是智慧
    股票操作記錄2
    治病記錄(2013年)
    过年了
    治病記錄
    近段時間學習記錄
    新的一年
    關于設計
  • 原文地址:https://www.cnblogs.com/hq2008/p/1310890.html
Copyright © 2011-2022 走看看