架构师训练营第 1 期第四周作业二
互联网系统的挑战
高并发:核心问题(主要矛盾)
大流量
高可用
海量数据
用户分布广泛,网络情况复杂:多数据中心问题
安全环境恶劣
需求快速变更,发布频繁。
渐进式发展:没有全局的设计和规划,是慢慢运营、发展壮大的。
解决方案
1、垂直伸缩,最简单的方案
增强单一服务器的性能:升级内存、cpu、网卡、升级小型机、中型机、大型机
问题:
超过某一节点后,升级需要的成本会超过收益
垂直伸缩有物理极限
操作系统或者应用程序自身制约着垂直伸缩只能达到某个点
2、水平伸缩
通过增加服务器数量来提升计算能力的一类架构方法
互联网架构的演化
0、单体应用:应用、数据在同一服务器
1、第一阶段:应用、数据分离
2、第三阶段:使用缓存改善系统性能。
缓存:高速访问系统。本地缓存+远程分布式缓存
3、第三阶段:使用应用服务器集群 提高系统并发能力
4、第四阶段:数据库读写分离
5、第五阶段:使用反向代理和CDN(内容分发网络)加速网站响应
6、第六阶段:使用分布式文件系统、分布式数据库系统
7、第七阶段:使用NoSql和 搜索引擎(模糊搜索支持)
8、第八节段:业务拆分,业务间通过RPC调用、消息队列通信
9、第九阶段:微服务及中台化
10、第十阶段:大数据与智能化
架构模式
模式的关键:重复发生问题的重复解决方案。
1、分层:横向维度切分,每层负责比较单一职责,每层单独部署
2、分割:纵向维度切分,不同业务做拆分,包装成 高内聚低耦合的模块单元。
作用:有助于软件的开发和维护;扩展
3、分布式:分层和分割
4、集群
5、缓存
6、异步
7、冗余
8、自动化的运维手段
9、安全
互联网系统架构核心要素
高性能
系统的重要指标,需要持续优化
高可用:冗余。硬指标
可伸缩:是否容易添加新的服务器、是否有限制
可扩展:功能性需求,主要手段:事件驱动架构和分布式服务
安全:安全是基石。
版权声明: 本文为 InfoQ 作者【道长】的原创文章。
原文链接:【http://xie.infoq.cn/article/767bc13b8717b2d8b46fbfff6】。未经作者许可,禁止转载。
评论