分布式系统作业-1
18340013 陈琮昊
1.分布式系统的扩展方式有哪些?各有哪些利弊?
(I)分布式系统的可扩展性体现在如下三个方面:
规模上的扩展:能够根据需要增加更多机器,保存大量数据,提高运算的效率;但一旦出现问题,故障
排除便是一大难题。
地理上的扩展:能够在不同地区使用,大大提高了人们的出行效率。但在广域的环境下,延迟就会更加
明显;LAN到WAN的扩展也并不是那么轻而易举;缺少多点通信,广播不能执行。
管理上的扩展:可以提高可靠性等。但是会有与使用方法、管理和安全相关的策略冲突。
(II)至于扩展技术则如下:
隐藏通信延迟:原理较为简单,能够避免等待远程服务的请求响应;但对于有些交互式应用来说并不适
用。
分布:在多个机器划分数据计算,提高了工作量、效率;但要考虑同步异步、一致性等问题。
复制:使用起来较为简单,让分布在不同地方的数据副本都能够为用户提供服务。但也存在一致性问
题。
2.分布式系统设计面临哪些挑战?请举例回答。
第一,异构的机器与网络:
分布式系统中的机器,配置不一样,其上运行的服务也可能由不同的语言、架构实现,因此处理能力也
不一样;节点间通过网络连接,而不同网络运营商提供的网络的带宽、延时、丢包率又不一样。
第二,普遍的节点故障:
虽然单个节点的故障概率较低,但节点数目达到一定规模,出故障的概率就变高了。这就需要监控节点
的状态,在节点故障的情况下将该节点负责的计算、存储任务转移到其他节点,使得其继续可用而不是
宕机。
第三,不可靠的网络:
节点间通过网络通信,而网络是不可靠的。可能的网络问题包括:网络分割、延时、丢包、乱序。相比
单机过程调用,网络通信最让人头疼的是超时:节点A向节点B发出请求,在约定的时间内没有收到节点
B的响应,那么B是否处理了请求,这个是不确定的。这个不确定会带来诸多问题,最简单的,是否要重
试请求、节点B会不会多次处理同一个请求。
评论0