阅读05

大型网站软件的系统与传统的企业系统相比应具有以下特点:高并发数据、大流量;高可用、海量的数据、用户的分布广泛并且网络环境情况复杂、安全性低需求变更变快、渐进式发展。数据的不断庞大也带来了网站架构的不断优化。从最初只需一台服务器的发布到当数据量不断增加时这是就来时了架构的层层深入。首先是将应用服务于数据层分离,使不同服务器承担不同的角色,增加各个处理器的处理能力。一般用户的注重点集中在一小部分数据上,使用缓存来改善网站的性能。随着数据的增多,当超出一台服务器的处理能力和存储空间时使用服务器集群而不是换更大的服务器。进一步的是数据库处理的分离,同样使用反向代理和CDN加速网站的响应。随着发展文件和数据库也开始采用分布式,使用NoSQL和搜索引擎减轻应用程序管理诸多数据源麻烦。最终实现全部的分布式架构。这些都不断满足大型网站的核心价值即随网站所需灵活应对。

生活处处充满了各类模式,有的人人生就是固定的模式,但是模式受其适用场景限制,对系统的要求和约束也很多。好的设计不是模仿而是创新和创造。我通过这章的阅读对于网站架构的模式有了基础的认识这对于后期的进一步学习做了铺垫。网站的分层架构它包含应用层、数据层、服务层三个方面。分层对网站支持高并发向分布式方向发展至关重要。分割是对系统纵向对软件进行切分,对于大型网站分层与分割一个主要的目的是为了模块的分层部署,即分布式的使用,架构模式还包括集群、缓存、异步、冗余、自动化、安全几个方面,其中缓存还包含CDN、反向代理、本地缓存、分布式缓存几个方面。

软件的架构指导大型软件系统的各个方面。软件架构需要关心性能、可用性、伸缩性、扩展性、安全性五个架构要素。这五方面要素是网站架构最核心的几个要素。通过对本次的阅读我对大型网站架构的演化、模式及要素方面都有了清楚地了解,这对我进一步学习架构有了基本的知识储备,也是我进一步认清了架构的重要性。

时间: 2025-01-05 17:18:47

阅读05的相关文章

读《如何阅读一本书》乱摘

2016.05.17 – 05.28 <如何阅读一本书> - 莫提默?J.艾德勒 & 查尔斯?范多伦 著 - 郝明义 朱衣 译 如何第一次读本书? 我们每个人都有这样的体经验:对一本难读的书抱有高度期望,以为它能启发我们,结果却只是在徒劳无益的挣扎而已. 05.17 Part1 阅读的层次 1 阅读的活力与艺术 本书读者对象.这本书是为那些把读书的主要目的当作是增进理解能力的人而写. 主动阅读.阅读是一种活动,那就必须要有一些主动的活力.完全被动,就阅读不了 -- 我们不可能在双眼停滞

The Django Book 2.0--中文版

Table of contents 2.0, English -> Chinese 第一章:介紹Django阅读 01 第二章 入门阅读 02 第三章 视图和URL配置阅读 03 第四章:模版阅读 04 第五章:模型阅读 05 第六章:Admin阅读 06 第七章:表单阅读 07 第八章 高级视图和URL配置阅读 08 第九章:模版高级进阶阅读 09 第十章 模型高级进阶阅读 10 第十一章:通用视图阅读 11 第二十章: 部署Django阅读 12 第十三章: 输出非HTML内容阅读 13 第

《掌握需求过程》阅读笔记05

<掌握需求过程>阅读笔记05 我们的产品因为其功能而为用户使用而有意义,我们的产品才会有价值.而产品的需求又分为功能性需求和非功能性需求. 功能性需求就是因为产品存在的根本原因而存在的需求.功能性需求指明了产品必须做的事情,是产品功能的规格说明书,源于产品的基本目标.为了实现存在的根本理由,产品必须执行的一些动作,这些动作就与功能性需求有关. 我们可以通过用例描述.用户场景描述等地方挖掘出我们产品的功能性需求.那些我们产品必不可少的功能.目标就是我们产品的功能性需求.但是在分析功能性需求的时候

《java.util.concurrent 包源码阅读》05 BlockingQueue

想必大家都很熟悉生产者-消费者队列,生产者负责添加元素到队列,如果队列已满则会进入阻塞状态直到有消费者拿走元素.相反,消费者负责从队列中拿走元素,如果队列为空则会进入阻塞状态直到有生产者添加元素到队列.BlockingQueue就是这么一个生产者-消费者队列. BlockingQueue是Queue的子接口 public interface BlockingQueue<E> extends Queue<E> BlockingQueue拿走元素时,如果队列为空,阻塞等待会有两种情况:

构建之法阅读笔记05

2017.5.20 今天阅读的是<构建之法>第8章需求分析的阅读笔记,我们如果要开始做一个软件,最先要进行的就是需求分析,我们应该充分的了解我们这个软件是否具有前景,我们为用户提供的服务是不是用户所需要的,这一章详细的叙述了如何进行需求分析. 首先是获取和引导需求,我们应该找到软件的利益相关者,了解挖掘他们对软件的需求,引导他们表达出真实的需求.然后分析和定义需求,对各个方面的需求进行规整,定义需求内涵,从各个角度将需求量化,然后估计实现这些需求所需要的时间和资源,确定各个需求的优先级.紧接着

阅读笔记05

我们在浏览网站时,总会区分出网页速度的快慢,没有人会钟爱于速度慢的网页.这就涉及到了网页的高性能架构.性能测试是性能优化的前提和基础.从开发人员和测试人员的角度,网站的性能测试指标有响应时间.并发数.吞吐量.性能计数器等.其中性能测试包括了不同视角下的网站性能.性能测试指标.性能测试方法.性能测试报告.性能优化策略五个反面.其中Web前端的优化是业务逻辑之前的部分.包括浏览器的加载.网站视图模型.图片服务.CDN服务等.具体介绍了浏览器的优化:减少http请求:使用浏览器缓存:启用压缩:CSS放

《架构之美》阅读笔记05

一.阅读内容 第四部分 第十一章 GNU Emacs滋长的特性是其优势 第十二章 当集市开始构建教堂 二.笔记总结 (1)Emacs的架构 Emacs架构采用的是在交互式应用程序中应用广泛的模型-视图-控制器模式.在这个模式中,模型是程序所操作数据的底层描述,视图则是向用户展示数据的方法,而控制器则负责实现用户与视图的交互,并对模型进行相应的更新.值得注意的是Emacs拥有显著的可滋长的特性.当一个程序拥有越来越多的代码的时候,维护它就需要付出更多的努力.当一个开发人员发现了一个可实现的特性的时

《UML大战需求分析阅读笔记》05

我阅读了一个例子,一个软件公司采用.NET技术体系研发了一套电力系统,该系统使用的是SQL SERVER数据库.但安装系统时,客户发现该系统使用的数据库是SQL SERVER时,要求必须使用Oracle,如此一来,软件公司只能修改系统,这样的软件改动工作量是很大的.所以一定会需要软件技术框架,如果忽视了在软件技术框架.软件架构上的要求的话,会给软件后期工作带来想不到的麻烦.很多项目往往在初期就会对技术框架有一定的限制,常见的情况有:1.新项目需要在原系统的基础上开发:2.新项目需要与某些存在的系

《uml大战需求分析》阅读笔记05

这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个开发人员,不仅要懂得如何从用户那里获取有用的信息,还要懂得怎么清晰地描述自己的想法,给客户呈现出一个结构完整.功能全面的系统原型.那么,这些必备的画图技巧,就会帮上很大的忙. 用例图是用处非常广泛,使用频率最高的UML图,它用来描述什么角色通过某某系统能做什么事情,关注的是系统的外在