大型站点技术架构阅读笔记(二)
1、
2、
3、
4、
5、
6、
7、
8、
9、
10、
11、
原文地址:https://www.cnblogs.com/llguanli/p/8653205.html
时间: 2024-10-28 13:28:21
大型站点技术架构阅读笔记(二)的相关文章
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
这一次主要阅读了本书的对大型网站典型故障案例的分析以及在架构师中架构师的领导艺术. 一般的故障现象,由于某应用发布后,数据库Load居高不下,远超于正常水平,持续报警.主要的原因分析是,检查数据库,发现报警是因为某条sql引起的,这条是一条简单的有索引的数据查询,不应该引发报警.继续检查,发现这条sql执行频率非常高,远远超过正常水平,追查这条sql,发现被网站应用调用,首页是被访问最频繁的网页,这条sql被首页调用,也就被频繁执行了.经验教训,首页不应该访问数据库,首页需要的数据可以从缓存服务
第二次主要阅读了第二篇的架构,阅读了瞬时响应,网站的高性能,万无一失,网站的高可用架构,永无止境,网站的伸缩性架构. 网站性能是客观的指标,可以具体体现到响应时间,吞吐量等技术指标,同时也是主观的感受,而感受则是一种与具体参与者相关的微妙的东西,用户的感受和工程师的感受不同,不同的用户感受也不同.网站性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量标准.不同视角下的网站性能有不同的标准,也有不同的优化手段.对于一些软件工程师来说,说到网站性能的时候,通常和用户说的不一样.开发人员关注
这次阅读了第三篇维基百科的高性能架构设计分析和海量分布式储存系统Doris的高可用架构设计分析.对于这两节主要讲了许多内容. 作为一个百科服务类网站,维基百科主要面临的挑战是如何应对来自全球各地的巨量并发的词条查询请求.相对其他网站,它的业务比较简单,用户操作大部分是只读的,这些前提使它的性能优化约束变得简单,可以让技术团队将每一种性能优化手段都发挥到极致,且业务束缚较少,因此它的性能优化比较有典型意义.所谓网站前端是指应用服务器之前的部分,包括DNS服务,cdn服务,反向代理服务,静态资源服务
大型站点技术架构(一)--大型站点架构演化 每个模式描写叙述了一个在我们周围不断反复发生的问题及该问题解决方式的核心. 这样,你就能一次重新地使用该方案而不必做反复工作. 所谓站点架构模式即为了解决大型站点面临的高并发訪问.海量数据.高可靠执行灯一系列问题与挑战.为此.在实践中提出了很多解决方式,以实现站点高性能.高可靠性.易伸缩.可扩展.安全等各种技术架构目标. 1.分层 分词是企业应用系统中最常见的一种架构牧师,将系统在横向维度上切分成几个部分,每一个部分负责一部分相对简单并比較单一的职责,
大型站点技术架构(一)--大型站点架构演化 大型站点技术架构(二)--架构模式 大型站点技术架构(三)--架构核心要素 大型站点技术架构(四)--站点的高性能架构 大型站点技术架构(五)--站点高可用架构 站点系统的伸缩性架构最重要的技术手段就是使用server集群功能.通过不断地向集群中加入server来增强整个集群的处理能力. "伸"即站点的规模和server的规模总是在不断扩大. 1.站点架构的伸缩性设计 站点的伸缩性设计能够分成两类,一类是依据功能进行物理分离实现伸缩.一类是单
大型站点技术架构(一)--大型站点架构演化 大型站点技术架构(二)--架构模式 大型站点技术架构(三)--架构核心要素 大型站点技术架构(四)--站点的高性能架构 大型站点技术架构(五)--站点高可用架构 大型站点技术架构(六)--站点的伸缩性架构 扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力. 设计站点可扩展架构的核心思想是模块化,并在此基础上,减少模块间的耦合性,提供模块的复用性.模块通过分布式部署,独立的模块部署在独立的server上(集群)从物理上分离模块之间的耦
大型站点技术架构(一)--大型站点架构演化 大型站点技术架构(二)--架构模式 大型站点技术架构(三)--架构核心要素 大型站点技术架构(四)--站点的高性能架构 大型站点技术架构(五)--站点高可用架构 大型站点技术架构(六)--站点的伸缩性架构 大型站点技术架构(七)--站点的可扩展性架构 从互联网诞生起,安全威胁就一直伴随着站点的发展,各种Web攻击和信息泄露也从未停止.常见的攻击手段有XSS攻击.SQL注入.CSRF.Session劫持等. 1.XSS攻击 XSS攻击即跨网站脚本攻击(C
參考自<大型站点技术架构>第1~3章 1.大型站点架构演化发展历程 (1)初始阶段的站点架构:一台server分别作为应用.数据.文件server (2)应用服务和数据服务分离:三台server分别承担上述三项工作,当中应用server要求CPU强大.数据库server需求更快的硬盘和内存,文件server须要较大的硬盘. (3)使用缓存改善站点性能:分为本地缓存以及缓存在专门的分布式server上的远程缓存. (4)使用应用server集群改善站点的并发处理能力. (5)数据库读写分离. (