第四周系统架构演进和案例分享笔记
互联网分布式系统架构演化
1.第六课时,作业讲解,略
2.系统架构概述:互联网系统面临怎样的挑战?
3.架构演进式发展
4,应对高并发的两个技术方向
1.垂直伸缩:
a.垂直伸缩优点:通过升级硬件和网络吞吐能力可以实现垂直伸缩。由于不需要改变应用架构,
所以通常被认为式最简单的短期伸缩性方案
1.通过使用RAID(独立冗余磁盘阵列)增加I/O吞吐能力
2.通过切换到SSD(固态硬盘)改善I/O访问速度
3.通过增加内存减少I/O操作。
4.通过升级网络接口或者增加网络接口提高网络吞吐能力
5.更新服务器使用更多处理器或更多超线程
b.垂直伸缩的缺点:
1.达到某个程度后,增加计算能力需要的更多的花费(成本高)
2.垂直伸缩有物理极限
3.操作系统的设计或者应用程序自身制约着垂直伸缩最多只能达到某个点
2.水平伸缩:
1.数据中心本身分化业务领域,用专门的服务器,处理专门的业务逻辑, 文档服务器专门上传文档,消息服务器专门发消息等等
垂直伸缩与水平伸缩对比
架构演进
第0阶段:最简单的互联网应用架构
第一阶段 : 应用数据分离
第二阶段:使用缓存改善系统性能
第三阶段: 使用应用服务器集群改善系统的并发处理能力
第四阶段: 数据库读写分离
第五阶段: 使用反向代理和CDN加速网站响应
第六阶段: 使用分布式文件系统和分布式数据库系统
第七阶段: 使用NoSQL 和搜索引擎
第八阶段:业务拆分
第九阶段: 微服务及中台化
第十阶段: 大数据与智能化 ( 没图啊 )
架构模式:
1.分层: 横向切分,视图层\服务层\dao层
2.分割: 纵向切分,功能块,业务领域等
3.分布式: 基于第1点和第2点的基础上,独立部署不同的服务器,计算器越多,CPU,内存,存储资源也就越多,能够处理的并发访问和数据量就越大
a.分布式应用和服务
b.分布式静态资源
c.分布式数据和存储
d.分布式计算
4.集群:
5.缓存: CDN\反向代理\本地缓存\远程缓存
6.异步:
a.提高系统可用性
b.加快网站响应速度
c.消除并发访问高峰
7.冗余:服务器冗余运行,数据冗余备份
8.自动化:无人值守的情况下网站可以正常运行,运维支撑
9.安全:
互联网系统架构核心要素:如何衡量一个系统的架构设计
要求1:高性能
要求2:高可用
要求3:可伸缩
要求4:可扩展
要求4:安全性
常规互联网的架构图:
前端架构:
1.APP以及Web开发技术
2.浏览器以及HTTP优化技术
3.CDN
4.动静分离
5.图片服务
6.反向代理
7.DNS
网关以及应用层架构
1.网关架构
2.负载均衡
3.动态页面静态化
4.业务拆分
服务层架构
1.微服务架构
2.分布式消息队列
3.分布式缓存
4.分布式一致性(锁)服务
存储层架构
1.分布式文件
2.分布式关系数据库
3.NoSQL数据库
后台架构:
1.大数据平台
2.搜索引擎
3.推荐引擎
4.数据仓库
运维与安全
1.数据采集与展示
2.数据i监控与报警
3.攻击与防护
4.数据加密与解密
推荐书籍:
案例分享:
维基百科架构图
淘宝业务发展以及技术架构:略
宅米网技术变迁:
宅米1.0技术架构
问题挑战:
宅米2.0技术架构:
问题挑战:
宅米3.0技术架构:
新浪微博技术架构:
新浪微博技术架构1.0
新浪微博技术架构2.0
新浪微博技术架构3.0
评论