教学目标
- 理解高性能复杂度本质
- 掌握高性能架构分析和设计
如果一个篮子装不下你的鸡蛋,用多个篮子!
目录
- 高性能复杂度模型
- 高性能复杂度分析和设计
1 高性能复杂度模型
高性能复杂度模型
单机高性能复杂度分析
2 集群高性能设计
鸡蛋篮子理论第二法则 - 叠加法则
集群高性能 - 任务分配
任务分配器集群
集群高性能任务分配架构设计关键点
任务分配案例1 - DNS
任务分配案例2 - Nginx
任务分配案例3 - Memcached
集群高性能 - 任务分解
集群高性能任务分解架构设计关键点
任务分解案例1 - 微信服务拆分
任务分解案例2 - 数据库读写分离
本节思维导图
复盘
1.任务分配和任务分解的理解
任务分配:将多个相同的任务分解到不同的服务器中进行完成,而每个子服务器执行的任务都是相同的。
任务分解:将一个大任务拆分成不同的子任务,a,b,c,不同的服务器执行不同的子任务。比如业务系统,微信系统,分解为聊天系统,朋友圈系统,好友系统,微信支付系统等多个子系统。
2.可拓展和高性能有什么区别嘛
可拓展:更多的是从业务层面进行领域划分,将本来纷繁复杂的业务按照一定的业务模式设计出一套当前业务变化的业务系统。
高性能:更多的是从业务层面考虑,当前系统物理层面遇到的问题,当然也包含业务层面进行高纬度的任务拆分和分解。