diff --git a/notes/分布式基础.md b/notes/分布式基础.md index 35dff966..effcfed2 100644 --- a/notes/分布式基础.md +++ b/notes/分布式基础.md @@ -42,7 +42,9 @@ ### 1.3 磁盘故障 -磁盘故障是一种发生概率很高的异常,需要使用冗余机制,将数据存储到多台服务器。 +磁盘故障是一种发生概率很高的异常。 + +使用冗余机制,将数据存储到多台服务器。 ## 2. 超时 @@ -62,9 +64,9 @@ 这两个指标往往是矛盾的,追求高吞吐的系统,往往很难做到低响应时间,解释如下: -在无并发的系统中,吞吐量为响应时间的倒数,例如响应时间为 10 ms,那么吞吐量为 100 req/s,因此高吞吐也就意味着低响应时间。 +- 在无并发的系统中,吞吐量为响应时间的倒数,例如响应时间为 10 ms,那么吞吐量为 100 req/s,因此高吞吐也就意味着低响应时间。 -但是在并发的系统中,由于一个请求在调用 I/O 资源,需要进行等待。服务器端一般使用的是异步等待,即等待的请求被阻塞之后不用一直占用 CPU 资源,这种方式能大大提高 CPU 资源的利用率。例如上面的例子中,单个请求在无并发的系统中响应时间为 10 ms,如果在并发的系统中,那么吞吐量将大于 100 req/s,因此为了追求高吞吐量,通常会提高并发程度。但是并发程度的增加,会导致请求的平均响应时间也增加,因为请求不能马上被处理,需要和其它请求一起进行并发处理,响应时间自然就会增高。 +- 但是在并发的系统中,由于一个请求在调用 I/O 资源的时候,需要进行等待。服务器端一般使用的是异步等待方式,即等待的请求被阻塞之后不需要一直占用 CPU 资源。这种方式能大大提高 CPU 资源的利用率,例如上面的例子中,单个请求在无并发的系统中响应时间为 10 ms,如果在并发的系统中,那么吞吐量将大于 100 req/s。因此为了追求高吞吐量,通常会提高并发程度。但是并发程度的增加,会导致请求的平均响应时间也增加,因为请求不能马上被处理,需要和其它请求一起进行并发处理,响应时间自然就会增高。 ### 3.2 可用性 @@ -72,7 +74,7 @@ ### 3.3 一致性 -一致性问题是指对于一组服务器,给定一组操作,我们需要一个协议使得最后它们的结果达成一致。也可以理解为,当某个服务器收到客户端的一组指令时,它必须与其它服务器交流以保证所有的服务器都是以同样的顺序收到同样的指令。 +一致性问题是指对于一组服务器,给定一组操作,它们的结果达成一致。也可以理解为,当某个服务器收到客户端的一组操作时,它必须与其它服务器交流以保证所有的服务器都是以同样的顺序收到并执行同样的操作。 ### 3.4 可扩展性 @@ -90,11 +92,11 @@ **一致性哈希** -Distributed Hash Table,DHT:对于哈希空间 0\~2n,将该哈希空间看成一个哈希环,将每个节点都配置到哈希环上。每个数据对象通过哈希取模得到哈希值之后,存放到哈希环中顺时针方向第一个大于等于该哈希值的节点上。 +Distributed Hash Table(DHT):对于哈希空间 0\~2n,将该哈希空间看成一个哈希环,将每个节点都配置到哈希环上。每个数据对象通过哈希取模得到哈希值之后,存放到哈希环中顺时针方向第一个大于等于该哈希值的节点上。