现在工作大多还是打应用代码,如果遇到需要架构方面的设计,做起来就没有什么经验了。
比如分布式爬虫,多进程消息通讯,国内外不同机器接口协调,任务分发处理,自己设计 12306 系统架构。。。
请问大家有没有这方面的书籍可以看的?教你如何搭大积木,以及搭的时候需要考虑什么问题,以及各种各样搭好积木的样例可以抄?
虽然学习还是要靠实践,但是类似于绘画,如果有一堆牛人的架构设计放在自己眼前,至少有好的设计可以抄,不用自己苦思冥想出来一个烂架构。
#6 楼 @KgTong 是这几个吗? http://msdn.microsoft.com/en-us/library/ee658124.aspx
1.分层:C/S、B/S、多层,数据、计算与显示的分离(MVC)
一个模块做很多事情,各负其责,分工明确
2.异步:事件、消息
请求之后等待结果(同步)请求之后继续执行,后续等待结果(异步) – 性能(吞吐量)提高,但实时性变差
3.缓存:页面缓存、数据缓存、消息缓存
4.并发(分布式):集群、负载均衡、分布式数据库
原本一个模块处理很多请求、多个模块共同处理这些请求
提高了吞吐量、响应时间、可靠性,但需要考虑同步等复杂问题
#15 楼 @linjunhalida 写代码就是架构。你也说了,层面不一样罢了。如果一个程序员两句代码都组织不清楚,如何放心让他去组织更高层面的东西?不过似乎这样的“架构师”蛮多。
#20 楼 @emanon 代码的概念比架构宽泛的多,写代码未必和架构有关
如果说架构方面的知识学习,我没见过比 REST 论文更合适的了,我在这之前看的书都没能让我理解什么是架构,而这篇论文水平低和水平高的人都能看。
参考: http://www.infoq.com/cn/articles/doctor-fielding-article-review