互联网三高指什么?
高性能,高可用,高并发
今天我们来聊聊《互联网三高》的第一方面---高性能
1.1 高性能
第一方面☞ 响应(低延时)
第二方面☞ 吞吐量(高并发)
提高吞吐量的主要两个做法:
1.降低延迟(麻烦)
2.提高吞吐(简单,常用)
优化存钱系统
场景引入:
一天你去一家银行存钱,这家银行只有一个柜台,如果我想把存钱系统性能提高,你应该怎么做?
① 存钱10s ---》存钱5s,吞吐量自然提升
Amdahl定律
要想显著加速整个系统,必须提升全系统中相当大的部分速度 。
假如有五个节点,分别是A,B,C,D,E节点
如果你要加速整个系统就需要把A-B-C-D-E这五个节点都进行优化,非常麻烦
如果你想深度了解这个定律你可以看这一本书:《深入理解计算机系统》第3版 P16
PDF:
短链接:https://4m.cn/aUUk7
提取码:8866
② 添加柜台(提高吞吐量)
无非就是 单机 --> 集群 的过程
amdahl定律告诉我们,提升系统的响应比较困难,所以现在系统的性能提升在提高吞吐量上--》各种各样系统架构
1.2 举例(优化吞吐量还是响应)
吞吐量和响应速度是依附的关系,吞吐量高响应速度自然会快!
•集群:很明显是优化吞吐量(增添服务器数量提升更高的吞吐量)
•负载均衡:同上问题?优化吞吐量
•缓存:优化响应
•Java Virtual Machine 优化:响应
•分库分表优化:吞吐+响应
•Tomcat非阻塞协议:优化响应
•MQ异步 (消息队列) :响应
•云原生(kubernetes):支持随意扩缩容,对整体系统都有提升
预告:1.3 框架
未完待续...