【Java】互联网三高---高性能

互联网三高指什么?

高性能,高可用,高并发

今天我们来聊聊《互联网三高》的第一方面---高性能

1.1 高性能

第一方面☞ 响应(低延时)

第二方面☞ 吞吐量(高并发)

提高吞吐量的主要两个做法:

1.降低延迟(麻烦)

2.提高吞吐(简单,常用)

优化存钱系统

场景引入:
一天你去一家银行存钱,这家银行只有一个柜台,如果我想把存钱系统性能提高,你应该怎么做?

① 存钱10s ---》存钱5s,吞吐量自然提升

Amdahl定律

要想显著加速整个系统,必须提升全系统中相当大的部分速度 。

本图来于《深入理解计算机系统》第3版 P16

假如有五个节点,分别是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 框架

未完待续...

AI悦创·创造不同!
AI悦创 » 【Java】互联网三高---高性能

发表评论