
架构设计
酷酷的糖先森
当你的才华还撑不起你的野心时,那就应该静下心来学习吧。
展开
-
架构之美第一章-如何看到一滴水的美丽
【一】架构是一个过程,而非一个结果。【二】在大多数人的谈论中,架构是一个目标产物,而作为架构师的责任就是去生产它。所以无论如何,架构是可以“做”出来的,而且也应该有一些“做”的方法、技术、技巧。有人问过我:架构的最主要产出是什么?我的答案是:图。这里面有两层含义:一层含义是如同建筑师描绘的蓝图一样,用于引导实施者;另一层含义是架构师头脑中清晰的目标系统。如果架构师头脑中转载 2014-12-02 08:58:57 · 798 阅读 · 0 评论 -
架构师必看-架构之美第14章-两个系统的故事:设计之城(一)
形式永远服从功能。 —Louis Henry Sullivan “设计之城”软件项目表面上与“混乱大都市”非常相似。它也是用C++写的消费音频产品,运行在Linux操作系统上。但是,它的构建方式有很大不同,所以内部结构也非常不同。转载 2014-12-02 09:08:44 · 1234 阅读 · 0 评论 -
架构师必看-架构之美第15章伸缩性架构设计
3.1 简介 在设计系统架构时,一个比较有趣的问题就是确保系统在伸缩时的弹性。随着越来越多的系统运行在网络上或在互联网上提供访问,伸缩性正变得越来越重要。对于这样的系统,如果你希望误差的范围在几个数量级以内,那么容量规划的想法显然是荒谬的。如果你架起一个网站,然后它火了,你可能会突然发现有几百万的用户访问你的站点。同样容易出现的情况是,你架起了一个网站,却发现没有人感兴趣,你投入转载 2014-12-02 09:09:48 · 1134 阅读 · 0 评论 -
架构之美第六章-建筑师的角色
在设计、构建和修复建筑时,我们指定关键的设计师为“建筑师(architects)”,并赋予他们广泛的职责。建筑师准备建筑最初的草图,展示外观和内部布局,与客户讨论这些草图,直至所有相关方都达成一致意见,认为展示的就是他们想要的。这些草图是抽象:它们关注建筑中某些方面的适当细节,而忽略其他的内容。 当客户和建筑师在这些抽象上达成一致意见之后,建筑师会准备或监督准备更为详细的图纸,转载 2014-12-02 09:02:11 · 1020 阅读 · 0 评论 -
架构之美第十一章-架构结构
那么,好的架构师如何来处理这些关注点?我们曾经提到过,需要将系统组织成一些结构,每种结构都定义了特定类型的组件之间的具体关系。架构师的主要关注点就是对系统进行组织,让每种结构有助于解答一个关注点所定义的问题。关键的结构决定将产品划分为组件,并定义了这些组件之间的关系(Bass、Clements和Kazman 2003; Booch、Rumbaugh和Jacobson 1999; IEEE 2000转载 2014-12-02 09:06:01 · 802 阅读 · 0 评论 -
架构之美第十二章-好的架构
我们曾提到,架构师玩的是折中的游戏。对于一组给定的功能需求和品质需求,没有唯一的正确架构和唯一的“正确答案”。我们从经验中得知,应该对架构进行评估,确定它是否满足其需求,然后再投入资金来构建、测试和部署这个系统。评估试图回答前面小节中讨论的一个或多个一般关注点问题,或回答特定系统的具体关注问题。 架构评估有两种常见的方式(Clements、Kazman和Klein 2002转载 2014-12-02 09:06:23 · 867 阅读 · 0 评论 -
浅谈CSRF攻击方式
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取原创 2015-01-26 12:50:48 · 1078 阅读 · 0 评论 -
计算机网络
目录[-]OSI参考模型TCP/IP的5层模型TCP/IP通信的三次握手、四次挥手戏说TCP/IP状态转化图MAC地址的概念及其作用ARP协议的用途及其工作原理了解交换机、路由器、网关的概念,并知道各自的用途初识路由表MTURIP、OSPF、BGP认识DNSTCP、UDP和HTTP区别于联系在浏览器中输入一个网站后,都发生了什么原创 2014-12-05 14:34:51 · 1997 阅读 · 0 评论 -
Nginx负载均衡配置实例详解
[导读] 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。 负载均衡先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。负载均衡先来简单了解一下什么是负载原创 2014-12-05 14:29:12 · 1509 阅读 · 0 评论 -
JAVA网站高并发解决方案
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原创 2014-12-12 11:51:14 · 2200 阅读 · 0 评论 -
架构师必看-架构之美第14章-两个系统的故事:混乱大都市(一)
你们修筑、修筑,预备道路,将绊脚石从我百姓的路中除掉。 —《以赛亚书》第57章14节 我们要看的第一个软件系统名为“混乱大都市”。它是我喜欢回顾的一个系统—既不是因为它很好,也不是因为它让参与开发的人感到舒服,而是因为当我第一次参与它的开发时,它教给了我有价值的软件开发经验。转载 2014-12-02 09:08:08 · 1177 阅读 · 0 评论 -
架构师必看-架构之美第14章-两个系统的故事:现代软件神话(一)
架构是一种很浪费空间的艺术。 —Philip Johnson 软件系统就像一座由建筑和后面的路构成的城市—由公路和旅馆构成的错综复杂的网络。在繁忙的城市里发生着许多事情,控制流不断产生,它们的生命在城市中交织在一起,然后死亡。丰富的数据积聚在一起、存储起来,然后销毁。有各式各样的建筑:有的高大美丽,有的低矮实用,还转载 2014-12-02 09:07:32 · 1178 阅读 · 0 评论 -
架构之美第二章-美丽架构的含义
古人形容美女之美:“⋯⋯增之一分则太长,减之一分则太短⋯⋯”,深刻地揭示了“恰到好处”的美丽含义。当我拿到《架构之美》书稿时,我发现美丽的含义如此相似。 美丽至简。美丽的架构应尽可能简单,但不要过于简单。书中通过多种例子表达了这个最基本的道理。我见过很多大型的软件架构,从大型的电信网络管理系统,到大规模应用的互联网架构,以及企业级的ERP软件,系统总是遵循从无到有,从简转载 2014-12-02 08:59:18 · 774 阅读 · 0 评论 -
架构之美第三章-美丽架构之道
我无法给架构下一个简单的定义,因为任何定义都会束缚你对架构的无限想象。不可否认,架构师早已出现在人类几千年前的各项生产活动中,比如建筑、音乐。而在计算机软件及Web领域,架构的设计直接影响着系统的生产,比如开发过程和效率、代码和组件复用性等,同时也影响着系统的可用性、可伸缩性、性能、容量可预测性等。 关注架构之美。美丽的架构同样无法定义,可它却一定是自然的、简单的、可复转载 2014-12-02 08:59:50 · 974 阅读 · 0 评论 -
架构之美第四章-架构与美
人们在生活和工作中发现美并创造美,软件开发和架构设计也不例外。 架构之美体现了关注点的分离与结合。在软件设计中,设计师需要考虑多方面的关注点。漂亮的架构设计让这些关注点尽可能分离,然后以最简单的机制结合在一起,从而得到高内聚、低耦合的系统。例如在Darkstar项目中,架构师们考虑的重点就是如何将多人在线游戏的游戏逻辑与系统的可伸缩性分离开来,让游戏的开发者只要遵守少量的规则,就转载 2014-12-02 09:00:26 · 946 阅读 · 0 评论 -
架构之美第五章-架构概述
建筑师、音乐家、作家、计算机设计师、网络设计师和软件开发者都在使用“架构”这个术语,其他人也用(你有没有听说过“食物架构”?),然而不同的用法其结果也不同。建筑与交响乐完全不同,但都有架构。而且,所有的架构师都在谈论他们工作中的美,以及因此而导致的结果。建筑师可能会说,一座建筑应该提供适合工作或生活的环境,而且它应该看起来很美。音乐家可能会说,音乐应该能演奏,包含能够辨明的主题,而且它应该听起来很转载 2014-12-02 09:00:49 · 841 阅读 · 0 评论 -
架构之美第七章-软件架构师的角色
软件开发项目需要一些人在软件构建时扮演架构师的角色,就像构建或修复建筑时传统的建筑师的角色一样。但是,对于软件系统来说,从来就弄不清楚哪些决定属于架构师的职责范围,哪些决定要留给实现者。定义架构师在软件项目中做什么,比建筑师的类似定义更困难, 原因有3 个因素: 缺少传统、产品无形性和系统复杂性。( 参见Grinter[1999],其中描述了软件架构师如何在一个大型软件开发组织中实现她的职转载 2014-12-02 09:02:28 · 904 阅读 · 0 评论 -
架构之美第八章-软件架构的含义
如果认为“架构”是一个简单的实体,能够用一份文档或一张图纸来描述,那就错了。架构师必须做出许多设计决定。要想有用,这些决定必须用文档记录下来,这样就能够进行复审、讨论、修改和批准,然后作为后续决定和构建时的约束。对于软件系统,这些设计决定包括行为上的和结构上的。 外部行为描述展示了产品如何与它的用户、其他系统和外部设备进行交互,这应该表现为需求。结构描述展示了产品如何划分为多转载 2014-12-02 09:03:20 · 930 阅读 · 0 评论 -
架构之美第九章-架构与设计
架构是系统设计的一部分,它突出了某些细节,并通过抽象省略掉另一些细节。所以,架构是设计的一个子集。关注实现系统组件的开发者可能不会特别关心所有组件如何装配在一起,而是主要关注少数组件的设计和开发,包括他们必须遵守的架构约束和可以应用的规则。因此,开发者和架构师面对的是系统设计的不同方面。 如果说架构关注的是组件之间的关系和系统组件外部可见的属性,那么设计还要关注这些组转载 2014-12-02 09:03:48 · 779 阅读 · 0 评论 -
架构之美第十章-创建软件架构
到目前为止,我们已经讨论了一般意义上的架构,并分析了软件架构与其他领域的架构之间有何相似与差异。接下来我们将注意力转到“如何”设计软件架构。当架构师创建软件系统的架构时,她应该关注什么? 软件架构师的首要关注点不是系统的功能。 这是正确的—软件架构师的首要关注点不是系统的功能。 例如,如果我们请你来设计一个“基于Web的应用转载 2014-12-02 09:04:54 · 863 阅读 · 0 评论 -
架构之美第十三章-美丽的架构
所有前面的方法都有助于我们判断一个架构是否“足够好”—也就是说,是否有可能指导开发者和测试者构建一个系统,并满足系统的利益相关人的功能和质量关注点。在我们每天使用的系统中存在着许多好的架构。 但是,超越足够好的架构是怎样的呢?如果有一个“软件架构名人堂”,那会怎样?哪些架构会陈列在这个艺术馆的墙上?这个想法可能没有你想象的那么遥远—在软件产品线领域,这样的“名人堂”的确存在。(转载 2014-12-02 09:06:59 · 985 阅读 · 0 评论 -
一个大型网站图片服务器架构的演进
本文将以一个真实垂直门户网站的发展历程,向大家娓娓道来。构建在Windows平台之上的网站,往往会被业内众多技术认为很“保守”,甚至会有点。很大部分原因,是由于微软技术体系的封闭和部分技术人员的短视造成的(当然,主要还是人的问题)。由于长期缺乏开源支持,所以很多人只能“闭门造车”,这样很容易形成思维局限性和短板。以图片服务器为例子,如果前期没有容量规划和可扩展的设计,那么随着图片文件的不断增多和访原创 2015-08-03 09:31:37 · 1655 阅读 · 1 评论