网站大量收购闲置独家精品文档,联系QQ:2885784924

《区块链:技术与应用》课后思考题及答案 第二章 课后思考题答案.docx

《区块链:技术与应用》课后思考题及答案 第二章 课后思考题答案.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第二章课后思考题答案

1.分布式系统架构有哪些类别?不同架构的优缺点是什么?

分布式系统架构有分层架构、面向服务的架构和微服务架构。

1.分层架构优点为开发效率较高,系统内各部分的相互依赖程度较低,系统维护成本较低,标准化程度较高,易于开发,模块可复用性较强;缺点为表示层数据的改动可能会导致其他相关层逻辑的修改,在该场景下的开发效率会因此而降低。

2.面向服务的架构优点为能使服务更具业务价值,响应速度更快,复用性也更强,具有服务间相互依赖性低、系统具有平台无关性以及可复用性强的特点;缺点为可能导致系统整体复杂度提高,服务间通信开销较大,有时还会因过度拆分而影响系统的整体性能和稳定性,并且在小规模应用程序中适用性较差。

3.微服务架构优点为开发复杂度低,微服务间的依赖性低,具有跨语言特性,微服务独立开发部署;缺点为链修改导致业务修改复杂,对服务进行拆分导致系统测试复杂。

2.分布式系统在业务处理和数据存储方面采用了哪些设计?不同设计的优缺点是什么?

在业务处理方面,最初使用单体架构时虽然开发测试简单,部署运维方便,但是框架更新复杂,系统各功能间依赖严重,系统可用性和性能都有瓶颈,于是逐渐演变出了各种分布式系统架构,如

①分层架构,其将业务抽象出了不同层,每层与上一层服务之间是层调用的限制关系,同时也可以降低系统不同层之间的依赖关系,而三层架构的业务逻辑层由于承载了所有业务处理逻辑,会随着系统的不断发展而愈发庞大,因此,可以将这一层进一步优化,分离为接入层和服务层,接入层更为简单,拥有更好的可扩展性,服务层则专注于实现业务逻辑的处理,然而,在分层架构下,表示层数据的改动可能会导致其他相关层逻辑的修改,在该场景下的开发效率会因此而降低;

②面向服务的架构依据业务的属性对服务进行了划分和定义,这样做提高了服务的业务价值,提升了响应速度和复用性,但可能会导致系统整体复杂度高、服务间通信开销大、过度拆分影响性能和稳定性,以及小规模应用程序中适用性较差的问题;

③微服务架构中的业务从API网关开始作为系统的唯一入口,所有模块都按照业务进行拆分,起到了降低开发复杂度和服务间依赖性的作用,但缺点是链修改导致业务修改复杂,对服务进行拆分导致系统测试复杂。

在数据存储方面,高可用角度下分布式系统架构在数据存储方面主要指两个层面,从服务器层面讲是双机架构,从数据层面讲是数据多副本。

一般将单机房场景下的两台服务器配合实现高可用称为双机架构,常见的双机架构有主备模式、主从模式和双主模式。

①主备模式是一种最简单的架构,由一个主数据库和一个备数据库组成。备数据库在正常情况下不使用,只有在主数据库出现故障时才启用。主备模式的优点是实现非常简单,对外业务只需要感知主数据库的地址,备数据库对业务透明,它只需要从主数据库同步数据,缺点是在正常业务场景下,备数据库不提供服务,这就导致备数据库在资源层面上没有得到有效利用,数据库的性能(特别是读取性能)无法得到有效提升。另外,备数据库的切换只能靠人工实现,因此会提高运维成本,降低系统可用性;

②主从模式是在主备模式基础上的一个升级,它将正常场景下的备数据库提升为可用的从数据库,其优点是解决了主备模式下的资源浪费问题,提升了线上读取数据的性能,缺点是业务需要感知主从数据库,并且需要判断什么场景下分发到哪个数据库进行读取,以及当出现故障时,仍然需要人工介入切换;

③双主模式是指两个数据库互为主从,都对外提供读写,当客户端访问时,可以以某种策略来连接后端的两台服务器,其适用于对数据一致性不敏感的场景。

①副本是分布式系统容错、提高可用性的基本手段,一般数据副本的基本策略以机器为单位,每个副本存储在不同的机器上,副本的数据保持完全一致,称为全量数据多副本。全量数据多副本的优点在于实现比较简单,缺点在于数据恢复效率低,数据写入性能成为瓶颈,

②针对以上两点不足,演变出了一种基于数据分片的多副本存储模式,将每个业务的数据进行分片,每个分片的数据再采取多副本存储模式,其优点在于数据写入性能好,数据恢复效率高,扩容便捷。

3.数据库系统的四个基本特性是什么?任何一个特性不满足会对数据库造成什么影响?

数据库的四个基本特性是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。

1.如果不满足原子性,数据库可能会进入不一致的状态,部分数据更新可能会丢失或不完整,导致数据不准确;如果一个操作分配了资源(如内存或文件描述符)而未能成功地释放或回滚,可能会导致资源泄露;当多个事务相互依赖时,一个事务的部分完成可能导致其他事务无法继续,影响系统的整体可靠性;

2.如果不满足一致性,数据库可能会存在不符合预定约束的状态,产生不合法的数据,破坏数据完整性;

3

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档