寒假阅读笔记二

大型网站技术架构-阅读笔记二

模式:每一个模式描述了一个在我们周围不断发生的问题及该问题解决方案的核心。这样你就能一次又一次地使用该方案而不必做重复工作。

分层:将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。分层时必须合理规划层次边界和接口,在开发过程中,严格遵循分层架构的约束,禁止跨层次的调用(应用层直接调用数据层)及你想调用(数据层调用服务层,或者服务层调用运用层)。

分割:网站越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护;另一方面,便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。

分布式:将不同的模块分开部署在不同的服务器上,通过远程调用协同工作。解决网站的高并发问题。

常用分布式方案:分布是运用和服务,分布式静态资源,分布式数据和存储,分布式计算,分布式配置,分布式文件。

集群:多台服务器部署相同的运用构成一个集群。通过负载均衡设备对外提供服务。

缓存:缓存就是将数据存放在距离计算最近的位置以加快处理速度。使用缓存的前提条件,一是数据访问热点不均衡,某些数据会被更频繁的访问,这些数据应放在缓存中;二是数据在某个时段内有效,不会很快过期,否则缓存的数据会因为失效而产生脏读,影响结果的正确性。缓存的大型网站存在的方面:CDN,反向代理,本地缓存,分布式缓存。

异步:讲一个业务操作分成多个阶段,每个阶段之间通过共享数据的方式异步执行进行协作。异步架构是典型的生产者消费者模式,两者不存在直接调用,只要保持数据结构不变,彼此功能时限可以随意变化而不相互影响。异步消息队列具有的特性:提高系统可用性,加快网站响应速度,消除并发访问高峰。

冗余:网站需要7*24小时连续运行,服务器随时可能出现故障,所以需要冗余的服务器,保证网站正常运转和数据的万整。

自动化:在无人值守的情况下网站可以正常运行,一切都可以自动化是网站的理想状态。发布过程的自动化:自动化代码管理,自动化测试,自动化安全检测,自动化部署。

安全:身份验证,密码等加密;对恶意攻击控制。

时间: 2024-10-01 05:13:07

寒假阅读笔记二的相关文章

《逻辑思维简易入门》(第2版) 阅读笔记二

<逻辑思维简易入门>(第2版) 阅读笔记二 本周阅读的是<逻辑思维简易入门>的第三章,也就是说,本书的第一部分就已经读完了. 第三章.信念的优点 信念和负信念是人们在接受一个事物时一种心理态度,延伸来说也就是对事物的认知态度.因为我们在研究 逻辑思维的时候,都有一个前提:“以正常情况以及说话者真诚”,所以有人如果对于一件事物不做回应,我们可以认为这是一种既不相信,也不怀疑的的态度. 信念的优缺点有很多,在书中主要介绍了下面几种: 1.准确性 好的信念实在准确的表达事实,同样真的信念

构建之法--阅读笔记二

阅读笔记二—代码规范 代码的风格的原则就是:简明,易读,无二义性.我虽然是计算机系的学生,但是我以前却没有秉着这个原则来编写代码,现在阅读了构建之法后,我明白了如何让你的代码变得简明,更容易理解. 代码在编写的过程中注意: 用Tab键缩进 要注意行宽,最多限定100字符的行宽 在复杂的条件表达式中,用括号清楚地表达逻辑优先级 要注意断行与空白的{ }行,有明确的“{”和“}”来判断程序的结构 不要把过多的语句放在同一行上 对变量命名要有实际的意义 用下划线来分隔变量名字中的作用域标注和变量的语义

软件需求分析教程阅读笔记二

软件需求分析教程阅读笔记二 管理人员在要求开发一个系统时并不会理解进行需求分析的重要性,他们只知道能不能尽快开发出相应的系统来方便使用,但是如果不做好需求分析,最终开发出的系统也不会有人用. 客户的需求认识并不像软件开发人员这样,了解的比较清楚,客户通常并不懂得从系统的实际用户处得到信息的重要性,然而从产品的实际用户处收集需求有着不可替代的必要性,所以导致项目最终失败的两个原因,一个是缺乏用户参与,另一个是不完整的需求规格说明. 在进行需求分析时,只有系统的实际使用者才能清楚的描述他们要用此系统

《大道至简---软件工程实践者的思想》阅读笔记二

08大道至简——软件工程实践者的思想阅读笔记之二 2015-06-02 16:41 第五章 失败的过程也是过程 以得失而论,在瀑布模型与RUP模型之间,学习前者而不成,可思过程的本质:学习后者而不成,可得文字的架子. 如果懂得了所谓的模型原本都演化自那个简单的瀑布,那么文档是按XP写还是按RUP写,也就可以应时.应需,因地置宜,择善而从了. 越是简单的东西,往往越是接近于本质. 项目经理的工作,就是要去组织这个工程中的各个角色,使得分工明确,步调一致,共同地完成这个项目. 第六章从编程到工程 我

Java Jdk1.8 HashMap源码阅读笔记二

三.源码阅读 3.元素包含containsKey(Object key) /** * Returns <tt>true</tt> if this map contains a mapping for the * specified key. * * @param key The key whose presence in this map is to be tested * @return <tt>true</tt> if this map contains

《构建之法》阅读笔记二

第二章阅读笔记 软件工程师的个人技术之一软件测试:    软件测试在软件开发流程中占据非常重要的地位. 单元测试:因为大多数软件工程师都是团队合作,所以其开发的模块其他人很有可能会用到,所以保证模块的正确性.完善性是非常重要的,所以就要进行单元测试来对模块的功能进行验证,验证要保证各种数据都能通过,对于特殊的数据都要进行验证,这样才能保证模块的健壮性.单元测试应该准确.快速地保证程序基本模块的正确性. 回归测试:软件的模块在进行修改或者新增后要进行回归测试,测试原来的功能是否受到影响. 效能分析

寒假阅读笔记十二

架构之美--最终用户应用架构(二) 今天,我阅读的是<架构之美>的第十二章,这一章主要讲的是Akonadi框架,让我充分了解了Akonadi框架是什么?怎么用? kde 4.1中的Akonadi是一个以mysql为存储管理的 KDE 4 存储接口.它分为两个部分,一个称之为 Akonadi服务器,一个是为用户程序提供的和Akonadi服务器打交道的库,Akonadi服务器是单独提供的程序,属于kde的支持部分的一个软件.用户库包含在kdepimlibs之中.Akonadi目前的主要应用是做为k

阅读笔记二2017.1.27

之前看了前三章对软件工程有了大致认识,对个人开发的流程及软件工程师的成长过程有了比以前更清晰的了解. 这一周重点阅读了第四章,本章讲了两人合作的前提是代码要规范(包括代码风格规范及代码设计规范)及代码复审,然后才能结对开发. 大学一年交了很多代码作业,但质量仅仅是完成了而已,对于缩进.行宽.括号.与大括号.分行等都没太注意过,觉着有了结果就好了.而对于命名更是越短越好,过后也就知道写过的代码是什么意思了.以前,写代码时,很多时候是上手就写,一个大括号包含所有内容,虽然大一时学过函数.类等知识,

寒假阅读笔记十

架构之美--系统架构(四) 今天,我阅读的是<架构之美>的第十章,题目为元循环虚拟机的力量:Jikes RVM,其实说实话,看到这个题目我的头就有点大了,以前从来没有听说过这个名词,究竟什么是Jikes RVM?原来,Jikes RVM的中文名字是Jikes研究虚拟机,它是为执行这样一种Java程序而设计的,这种Java程序典型地用于研究基本的虚拟机设计问题.它为科研院所提供一个灵活的测试平台,可以在这个测试平台上建立新的虚拟机技术的原型和试验各种各样的设计方案.Jikes RVM运行在AIX