欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

大型网站技术架构笔记 简单把重要点转化为了思维导图

程序员文章站 2022-03-06 11:53:26
...

目标

记录读书笔记的重要点的一个思维脑图,方便自己快速回忆,防止知识看了却没有好好地利用

读书目标

根据目录整理关键词方便回顾
方便扩展思维
方便扩展自己补充缺少的知识

1.大型网站架构演化

1.1大型网站软件系统的特点

	1.高并发,大流量
	2.海量数据
	3.需求快速变更,发布频繁
	4.高可用
	5.不间断的服务
	6.用户分布广泛,网络情况复杂
	7.安全环境恶劣
	8.渐进式发展(最终根据业务需要什么功能不清楚)

1.2发展历程

详情见 网站架构的演化

	其他
		文件服务器
			需要大硬盘
		应用服务器
			需要更快更强大的cpu
		数据库服务器
			需要更快的应硬盘和内存
		受网路影响

1.3价值观

	什么阶段做什么样的事情
	解决目前遇到的问题还展望未来近一年的业务涉及

1.4 设计误区

	1.不要为了技术而技术
	2.不能盲目的模仿
	3.有些瓶颈不一定要用技术解决可以改变业务
	子主题 4
	设计最终是简化解决需求问题

2.大型网站架构模式

2.1分层

		职责分层
		上层依赖下层
		规范

2.2分割

		业务分割

2.3分布式

		分布式应用和服务
		分布式静态资源
		分布式数据与存储
		分布式计算
		分布式配置
		等等

2.4集群

2.5缓存

		1.cdn
		2.反向代理
		3.本地缓存(前提条件)
				1.某些数据被频繁访问
				2.设置时间内有效
		4.分布式缓存

2.6 异步

		提高系统可用性
		加快网站响应速度
		消除并发访问高峰

2.7冗余

		数据备份
			冷备份
				定时备份
			热备份
				主从分离

2.8自动化

		发布过程自动化
			自动化代码管理
			自动化测试
			自动化安全监测
			自动化部署
			自动化监控
			自动化报警
			自动化失效转移
			自动化失效恢复
			自动化降级
				拒绝部分请求,和关闭不重要服务
			自动化分配资源

2.9 安全

		身份验证
			密码
			手机校验码
		登录,交易
			数据信息加密
			风险控制
		蜘蛛
		机器攻击
			验证码
			xss
			sql注入
			编码转换
		垃圾信息过滤

3.大型网站架构核心要素

什么是架构

	最高层次的规划,难以改变的决定
	核心
架构决定了事物未来的发展方向和最终蓝图

3.1.性能

3.1 1.目的

			改善用户体验响应时间
			最大限度利用服务器资源

3.1.2.优化手段简介

			缓存
				加快数据的读取
			集群
				提高吞吐能力
			异步消息
				加快响应速度和削峰
			代码优化
				改善程序性能

3.1.3.优化手段

3.1.3.1浏览器端
				缓存
				减少http请求
				页面压缩
				合理布局
				减少cookie传输
				用户体验
				cdn
				反向代理
					减少应用服务器的压力
					缓存静态文件
3.1.3.2.应用服务器端
				本地缓存
				分布式缓存
				异步操作
					消息队列
				服务器集群
				减少数据库的压力
					什么时候使用
						高频率访问数据
						有效时间

3.1.3.3代码层面

				多线程
				改善内存管理

3.1.3.4数据库服务器端

				索引
				缓存
				sql优化
				nosql
					优化数据库模型
					存储结构
					伸缩

3.1.3.4.性能指标

			响应时间
				执行一个操作的需要的时间
			并发数
			吞吐量
				TPS
					Transactions Per Second
						每秒传输的事务处理个数
					包括一条消息入和出加上一次用户对数据库的访问
			系统性能计数器
				线程
				内存
				io
				系统敷在

3.1.3.5.性能指标的作用

			分析系统瓶颈
			预测网站容量
			异常指标进行报警

3.2.可用性

3.2.1主要手段

			冗余
				就是提供多台这样的服务器,在有一台坏掉的情况下,保证服务始终可用
			应用服务器层面
				负载均衡服务器
					负责请求合理转发
				应用服务器集群
			存储服务器
				服务器集群
				相互备份
		软件设计
			各种自动化

3.3.伸缩性

		主要标准
			是否可以多台服务器构建集群
			添加新服务器
				和原来服务 无差别
			集群服务器的数量限制

3.4.扩展性

		主要标准
			增加新产品
				透明
				很少改动业务功能
		主要手段
			事件驱动架构
				代表nodejs
				消息队列
					生产者消费者模式
			分布式服务
				业务
				可复用服务
				分离

3. 5.安全性

		标准
			针对现存和潜在的各种攻击手段与窃密手段,是否有可靠的应对策略

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

4.1标准

	网站性能是客观主标
	用户感受才是主要的

4.2网站性能测试

4.2.1不同视角的网站性能

		用户视角
			浏览器直观感受
		开发人员视角
			应用程序和系统
		运维人员视角
			基础设施性能
			资源利用率
				网络带宽
				服务器硬件
				数据中心网络架构
				带宽利用率

4.2.2测试方法

		性能测试
		负载测试
		压力测试
		稳定性测试
	性能优化策略
		根据排查
web前段性能优化
应用服务器性能优化
存储性能优化

详细思维导图地址

https://gitee.com/hugo110/xmind-books/tree/master/架构

目前是看完书的完整的读书笔记核心,其他文章的核心观点除了架构师都迁移到了这4块中,接下来就要开始细定月计划开始行动了

相关标签: web 读书笔记