上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
谎言 5:微服务架构性能更高
我在学校学到了一些经验法则。
1.读取内存所需的时间是读取二级缓存的10倍
2.读取硬盘驱动器所需时间是读取内存的10倍。
3.从网络读取所需的时间是从硬盘读取的10倍。
这些数字是粗略的近似值。我们来看一下数据中心中的网络通信与从内存读取之间的实际差异:2009年,从内存中顺序读取1MB的耗时估计为250000ns;2019年,在AWS数据中心中,两个EC2实例之间的通信速度可以达到5Gbps。
简单算一算:
·2009年的内存:0.25毫秒内1兆字节
·2019年的数据中心:1秒内5Gbit=1秒内0.625GBytes=0.64秒内1兆字节
觉得差距不算大?可我们要意识到:
·上面的网络速度是最好的情况
·我们正在对比2009年与2019年的指标
·要通过超高速的AWS网络发送这一兆数据,我们仍然需要从内存中读取它。
假设你只有一个依赖项,那么这也意味着几千倍的速度差距。实际情况中这一差距还会大得多。
难怪我们现在使用字节流来让每个请求快那么几毫秒。当然,对于字节流来说,调试服务间通信也是需要工具的。