这本书分几个章节,其中有一个值得和大家分享的技术知识。

大型网站架构模式中引入了模式概念:每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重工作。

模式有几种:有分层、分割、分布式、集群、缓存、异步、冗余、自动化、安全

1、分层:简单说就是横向分,比如将网站软件系统分为应用层、服务层、数据层

2、分割:简单说就是纵向分,比如说在应用层上,将不同业务进行分割,将购物、论坛、搜索、广告分割成不同的应用。

3、分布式:分层和分割的一个主要目的是为了切分后的模块便于分布式部署,即将不同模块部署在不同的服务器上,通过远程调用协同工作。分布式意味着可使用更多的计算机完成同样的功能,

计算机越多,能够处理的并发访问和数量就越大。

分布式方案:分布式应用和服务、分布式静态资源、分布式数据和存储、分布式计算、分布式配置、分布式锁、分布式文件等

4、集群:使用分布式虽然已经将分层和分割后的模块独立部署,但是对于用户访问集中的模块(比如网站的首页),还需要将独立部署的服务器集群化,即多台服务器部署相同的应用构成一个集群,

通过负载均衡设备共同对外提供服务。

5、缓存、cdn、

反向代理:(反向代理属于网站前端架构的一部分,部署在网站的前端,当用户请求到达网站的数据中心时,最先访问到的就是反向代理服务器,这里缓存网站的静态资源,无需将请求

继续转发给应用服务器就能返回给用户)

本地缓存、分布式缓存。

6、异步:系统耦合的手段除了前面提到的分层、分割、分布等,还有一个重要手段是异步,业务之间的消息传递不是同步调用,而是将一个业务操作分成多个阶段,每个阶段之间通过共享数据的方式异步执行。

在单一服务器内部可通过多线程共享内存队列的方式实现异步,处在业务操作前面的线程将输出写入到队列,后面的线程从队列中读取数据进行处理;在分布式系统中,多个服务器集群通过分布式消息队列实现异步,

分布式消息队列可以看作内存队列的分布式部署。异步架构是典型的生产者消费者模式,两者不存在直接调用,只要保持数据结构不变,彼此功能实现可以变化而不互相影响,这对站扩展新功能非常便利。除以之外,使用异步消息队列还有如下特性。【提高系统可用性、加快网站响应速度、消除并发访问高峰】

7、冗余:指数据冗余备份,这样某台服务器宕机时,可以将其上的服务和数据访问转移到其他机器上。数据库定期备份。冷热备份。

8、自动化:在无人值守的情况下网站可以正常运行,一切都可以自动化是网站的理想状态。目前大型网站的自动化架构设计主要集中在发布运维方面。

9、安全:网站安全架构在安全方面也积累了许多模式,如密码、手机校验码进行身份认证;登录、交易等操作对网络通信进行加密,xss攻击、sql注入、编码转换等,垃圾信息、敏感信息过滤等等。

案例:架构模式在新浪微博的应用

该案例主要应用点与是面试会问到的常见问题,关于高并发。 新浪使用异步推拉结合的模式,用户发表微博后系统将微博写入消息队列后立即返回,用户响应迅速,消息队列消费者任务将微博推送给所有当前在线粉丝的订阅列表中,非在线用户登录后再根据关注列表拉取微博订阅列表。由于微博频繁刷新,新浪微博使用多级缓存策略,热门微博和明星用户的微博缓存在所有的微博服务服务器上,在线用户的微博和近期微博缓存在分布式缓存集群中,对于微博操作中最觉的“刷微博”操作,几乎全部者是缓存访问操作,可以获得很好的系统性能。为了提高系统整体可用性和性能,启用了多个数据中心。这些数据中心既是地区用户访问中心,用户可以就近访问最近的数据中心以加快访问速度,改善系统性能;同时也是数据冗余复制的灾备中心,所有的用户和微博数据通过远程消息系统在不同的数据中心之间同步,提高系统可用性。

疑问之处:该书中提到了2012年年初12306故障事件,如果12306开始设计架构时不采用提前放票抢票的方式进行架构的设计,那么也不会出现高并发抢购秒杀的现象,也就不会让服务器不堪重负。

那么,想问下作者如果不采用零点开始出售若干天后的车票的话,那么还有什么好的方法?书中并没有明确的回答,这是留给读者的疑问。再次反复翻阅书籍,段落的最后两句话,貌似给提示了一些,说是“如果能控制并发访问量,很多棘手的技术问题也就不是什么问题了。”像是后来引入的排队机制、分时段售票,然而做为开发者都是喜欢刨根问底的,大家觉得还有哪方面,12306做了一些技术上的落地?

大型网站架构模式【大型网站技术架构.核心原理与案例分析】(阅读分享)相关推荐

  1. 大型网站技术架构:核心原理与案例分析阅读笔记二

    大型网站技术架构:核心原理与案例分析阅读笔记二 网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变 ...

  2. 一文讲透大型网站架构模式核心原理与案例分析

    什么是模式?每一个模式描述了一个在我们周围不断发生的问题及该问题解决方案的核心.这样,你就能一次又一次地使用该方案而不必做重复的工作. 也许互联网产品不是随便复制就能成功的,创新的产品更能为用户创造价 ...

  3. 读书笔记:大型网站技术架构-核心原理与案例分析

    李智慧<大型网站技术架构-核心原理与案例分析> 性能 可用性 伸缩性 扩展性 安全性 总结 这本书组织的很不错,语言精练,篇幅也不长,对网站架构的要点讲的狠清楚透彻,思路清晰.主要围绕架构 ...

  4. 读书笔记之 大型网站技术架构(核心原理与案例分析)

    前言 坚持看了十几天的书,终于完成了毕业后第一次静下心来,利用业务时间看书并做笔记的成就了.废话不多说,这回看的是一直很膜拜的李智慧大神写的大型网站技术架构-核心原理与案例分析. 简短的读后感 极其推 ...

  5. 分布式计算,大型网站技术架构:核心原理与案例分析

    这个回答,非常详细. 但是,大部分内容,都来自"大型网站技术架构:核心原理与案例分析". 最近,初步看了这本书,觉得写得太好了,比较系统和全面. 不过,我还是不喜欢吹B" ...

  6. 大型网站技术架构:核心原理与案例分析pdf

    下载地址:网盘下载 编辑推荐 编辑 本书作者是阿里巴巴网站构建的亲历者,拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的历 ...

  7. 《大型网站技术架构:核心原理与案例分析》笔记05

    <大型网站技术架构:核心原理与案例分析>笔记05 网站的课扩展性架构: 扩展性:指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力.表现在系统基础设施稳定不需要经常变更,应用之间 ...

  8. 阅读《大型网站技术架构:核心原理与案例分析》第五、六、七章

    阅读<大型网站技术架构:核心原理与案例分析>第五.六.七章,结合我们的系统,分析如何增加相应的功能,提高系统的可用性和易用性. 这三章主要讲述的是网站的可用性.伸缩性和可扩展性. 高可用架 ...

  9. 《大型网站技术架构:核心原理及案例分析》阅读笔记01

    第一篇:概述   1.大型网站架构演化 从上世纪90年代初,Web标准和Web服务出现来计算,互联网发展了仅仅20年,但是,它的发展速度却是惊人的,世界被互联网改变着.随着互联网的发展,越来越多的问题 ...

最新文章

  1. 前台特效(6) 折叠栏目(动画效果)
  2. java冒泡排序_Java算法分析之冒泡排序(Bubble Sort)
  3. html支持的语音文件格式,html5中如何设置audio支持音频格式
  4. Android --- 命名规范
  5. android XMl 解析神奇xstream 六: 把集合list 转化为 XML文档
  6. 微信小程序页面文字超出一行隐藏,文字超出两行隐藏。
  7. 关于centos docker版本过低导致 is not a valid repository/tag: invalid reference format
  8. hashmap有关问题与计算
  9. 另一种将线程并入应用程序的方法-委托
  10. 第2章 DOS循环:for命令详解
  11. perl统计http日志ip
  12. android:高德sdk将gps小数点后6位的定位转小数点后12位的经纬度
  13. Linux 考试题(带答案)
  14. 真4k测试样片_如何让自己的抖音视频更高清?测试一天后,偷偷告诉你
  15. Jenkins与码云集成
  16. 程序员必备的七个电脑软件
  17. 看病(版权所有翻版必究)
  18. 友链——一群dalao
  19. gtk之G_LIKELY(expr)和G_UNLIKELY(expr)
  20. 浅谈Web大数据可视化平台开发流程

热门文章

  1. [MySQL安装问题] HeidiSQL连接MySQL报错——完美解决
  2. NX/UG二次开发—QT—基于QT平台的UG二次开发
  3. 更加美化输入框的方法
  4. 《解析卷积神经网络—深度学习实践手册》—学习笔记
  5. Java高效输入输出流讲解
  6. 解决达梦数据库DM8创建用户提示:“密码长处不符合要求”问题
  7. 【物联网 · 嵌入式】使用 ESP8266 接入 Blinker 物联网平台
  8. PS磨皮神器更新为Portraiture V3中文汉化版(仅64位) 。
  9. 统计| 自由度(degree of freedom)
  10. Ubnt EdgeMax 路由器使用花生壳的ddns更新方法