26、搜索引擎架构:如何瞬间完成海量数据检索?

我们在使用搜索引擎的时候,搜索结果页面会展示搜索到的结果数目以及花费时间。比如用Google搜索中文“后端技术”这个词,会显示找到约6.7亿条结果,用时0.45秒。 我们知道Google收录了全世界几乎所有的公开网页,这是一个非常庞大的数目,那么G...

后端技术面试 38 讲

25、数据存储架构:如何改善系统的数据存储能力?

在整个互联网系统架构中,承受着最大处理压力,最难以被伸缩的,就是数据存储部分。原因主要有两方面。一方面,数据存储需要使用硬盘,而硬盘的处理速度要比其他几种计算资源,比如CPU、内存、网卡都要慢一些;另一方面,数据是公司最重要的资产,公司需要保证数据的...

后端技术面试 38 讲

24、负载均衡架构:如何用10行代码实现一个负载均衡服务?

负载均衡是互联网系统架构中必不可少的一个技术。通过负载均衡,可以将高并发的用户请求分发到多台应用服务器组成的一个服务器集群上,利用更多的服务器资源处理高并发下的计算压力。 那么负载均衡是如何实现的,如何将不同的请求分发到不同的服务器上呢? 早期,实现...

后端技术面试 38 讲

23、异步架构:如何避免互相依赖的系统间耦合?

上一篇文章中我们讨论过,使用缓存架构可以减少不必要的计算,快速响应用户请求。但是缓存只能改善系统的读操作性能,也就是在读取数据的时候,可以不从数据源中读取,而是通过缓存读取,以加速数据读取速度。 但是对于写操作,缓存是无能为力的。虽然缓存的写入速度也...

后端技术面试 38 讲

22、缓存架构:如何减少不必要的计算?

上一篇我们讲到,互联网应用的主要挑战就是在高并发情况下,大量的用户请求到达应用系统服务器,造成了巨大的计算压力。互联网应用的核心解决思路就是采用分布式架构,提供更多的服务器,从而提供更多的计算资源,以应对高并发带来的计算压力及资源消耗。 那么有没有办...

后端技术面试 38 讲

21、分布式架构:如何应对高并发的用户请求

互联网应用以及云计算的普及,使得架构设计和软件技术的关注点从如何实现复杂的业务逻辑,转变为如何满足大量用户的高并发访问请求。 一个简单的计算处理过程,如果一旦面对大量的用户访问,整个技术挑战就会变得完全不同,软件开发方法、技术团队组织、软件的过程管理...

后端技术面试 38 讲