《大型网站技术架构 核心原理与案例分析》读书笔记

2018-10-24  本文已影响0人  whoami2019

概述

image.png

1 架构演化

大型网站的关注指标

大型网站的特点

大型网站架构演化发展过程

大型网站架构演化的价值观

网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的。因此对于小型网站来说,最需要做的是位用户提供好的服务来创造价值,得到用户的认可,从而活下去,野蛮生长。

网站架构设计误区

2 架构模式

3 大型网站核心架构要素

4 瞬时响应 - 网站的高性能架构

不同视角下的网站性能

性能测试指标

性能测试方法

Web前端优化

应用服务器性能优化

代码优化

5 万无一失 - 网站的高可用架构

网站可用性度量

高可用的应用

无状态应用: 应用服务器不保存业务的上下文信息,而仅根据每次请求提交的数据进行相应的业务逻辑处理,多个服务实例之间完全对等,请求提交到任何一个服务器上,处理的结构都是相同的

高可用的服务

  • 服务高可用(高可靠)一直是美团外卖的第一要求,为了提高可用性,做了很多策略,包括并不限于上文提出的各种架构设计方案。
  • 其实造成线上问题的很大一部分原因是由于发版造成的,也体现出了SOP的重要性。
  • 关于降级与依赖隔离,可以考虑采用Hystrix实现自动降级与依赖隔离 。

高可用的数据

数据一旦出现问题,对于网站往往是毁灭性的打击,因此保护网站的数据就是保护企业的命脉。

高可用网站的软件质量保证

网站运行监控

6 永无止境 - 可伸缩性架构

网站伸缩性: 在不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力

网站架构的伸缩性设计

应用服务器集群的伸缩性设计

分布式缓存集群的伸缩性设计

数据存储服务器集群的伸缩性设计

7 随需应变 - 可扩展架构

可扩展性:在对现有系统影响最小的情况下,系统功能可持续扩展或者提升的能力

实现可扩展的手段:低耦合,高内聚

利用分布式消息队列降低系统耦合性

利用分布式服务打造可服用的业务平台

可扩展的数据结构

8 固若金汤 - 安全架构

典型攻击方式

信息加密技术以及密钥管理

后记

  1. 在大型网站的建设中,千万不要一味遵循一些所谓的标准,因为有些标准的指定根本不是针对大型网站系统的。
  2. 不能为了技术而技术,能落地的架构才是好架构,架构设计不能堆砌概念和模式,不能面面俱到却不解决具体问题。
  3. 做架构设计的目的不是为了炫耀自己知道多少术语。
  4. 不要企图去设计一个大型网站
    • 尤其很多传统企业进入互联网时,会试图在互联网领域开发一个大型网站复制其在传统行业的优势地位,但是互联网发展运行有其自己的规律,短暂的互联网历史已经一再证明这种企图是行不通的。
    • 互联网没有门槛,谁都可以进来玩,但是进来后,最好把那些陈旧的思想和包袱放下。
    • 互联网是一种精神,一种开发、分享、自由的精神;越是不计回报越是获得丰厚的回报。
  5. 架构师人在职场,需要处理好个人、团队、公司的利益。需要不断在工作中发现问题、解决问题,提升工作经验、知识技能和核心竞争力,扩大自身影响力。
    • 新员工首先要做的事情是融入团队,等熟悉了情况,再寻找突破口,择机而动
    • 新员工最不需要做的事情就是证明自己的能力。
    • 把“我的问题”表述成“我们的问题”
    • 给上司提封闭式问题,给下属提开放式问题
    • 支出问题而不是批评人
    • 用赞同的方式提出问题
    • 在解决我的问题之前,先解决你的问题
    • 适当的逃避问题
  6. 架构师领导艺术
    • 关注人而不是产品
      • 一群优秀的人做一件他们热爱的事,一定能取得成功
      • 寻找一个值得共同奋斗的目标,营造一个让大家都能最大限度发挥自我价值的工作氛围
    • 发掘人的优秀
      • 是事情成就了人,而不是人成就了事
      • 共享美好蓝图
    • 共同参与架构
      • 不要只有架构师一个人拥有架构
      • 让其他人维护框架与架构文档
    • 学会妥协
    • 成就他人
上一篇 下一篇

猜你喜欢

热点阅读