软件架构设计分享

     架构师不仅要熟悉技术,业务和管理,更重要的是要有自己的思想,架构设计在我看来,他不是技术,而是一种艺术。我喜欢艺术,我热爱架构,以前在自己的学习道路上总是渺茫,似乎现在找到了方向。
    软件结构的分类:互联网软件架构、企业应用软件架构、嵌入式软件架构、有线或无线网络架构、安全架构。

   

    软件架构的学习视频和文档:

    /Files/Jack2007/jackwang.pdf 

    
http://v.youku.com/v_playlist/cz00f1701561o9p0.html 

 

    http://code.google.com/p/boost-doc-zh/downloads


    高焕堂老师的视频------如何成为一个合格的架构师,非常棒!!!
    
http://live.csdn.net/Issue518/LivePlay.aspx

 

    架构笔录:

1、网站流量影响整个网站架构的设计
2、网站架构的设计是一种平衡的设计,没有完美的架构,架构的设计要简单灵活,便于扩充,因此找出平衡点是关键
3、网站架构的设计不要过渡,考虑到1~2年内的用户需求即可
4、小网站与大网站的区别在于,当数据量达到一定级别,小问题会变成大问题
5、大的网站架构不适合做小事情,小架构也做不了大事情
6、即使通过硬件的扩充,架构的负荷已经超过设计负荷的5~10倍,就要考虑重新设计系统的架构,举例来说就是一个研发团队是10个人以内,可以采用家长式管理,而到100人以内,管理方式必须变化,因此架构也要根据负荷情况不断变化
7、要通过网站的监控分析,来找到系统瓶颈的临界点
8、任何一个网站的开发都会是从集中式-分布式-高级分布式的方向过渡
9、Google可以通过机器的扩充来达到网站扩展的要求,依赖的是系统架构设计中的线性可扩展性
10、中国的网站架构和运营要考虑自身的网络运营环境如网通和电信网络的区别
11、网站架构的设计也要考虑运营成本的问题,能得到的资源往往比预期的要少
12、架构的设计要考虑安全性和恶意客户的攻击
13、网站的负载要通过测试来验证,并通过监控系统进行分析,并且要做好风险的应对,系统的负载永远不要超过80%
14、架构的设计中无时无刻不存在折中的情况,痛苦的取舍是必须作出的抉择
15、架构设计中要充分考虑团队、领导和用户间的沟通,龙的那片不能动的鳞也要有策略的动一动
16、架构设计要充分分析数据的特性,读和写哪个更重要,例如Google的搜索根本不用数据库,甚至连文件系统都进行重写,以达到最快的数据读取效果
17、网站架构的设计要考虑API接口的开放性
补充1:
1、网站架构是一门平衡艺术,永远在性能和需求之间寻求平衡
2、Taobao在生态圈上考虑了很久,很有可能会推出重量级的OpenAPI,具体是什么,值得期待
3、腾讯产品在产品稳定性要求很高,单组服务产品的压力测试非常严格,最终把大访问问题转化为添加服务器问题
4、完美的缓存机制需要考虑稳定性、事务处理和分布式,memCache是其中较简单的实现
5、监控程序实时报警,比如同期超过5%的正常波动
6、产品经理要溶入技术团队,避免过度设计
7、用户每上一个台阶,架构设计将迥然不同

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值