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

第13讲 控制策略与保障技术2.pptx

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

第13讲控制策略与保障技术2莫同motong@ss.pku.edu.cn

上一讲回顾CAP理论quorumprotocol主从机制数据库主从机制Paxos共识机制投票策略PBFT三阶段协议Gossip数据“对齐”方式控制策略与保障技术1CAP理论主从机制PaxosPBFTGossip

内容提要容错负载均衡告示板时间片多租户

内容提要容错负载均衡告示板时间片多租户

容错容错指计算机系统在发生故障或出现问题时,能自行采取补救措施,仍能保证不间断提供正常的服务的方法和技术。硬件问题永久性错误(permanentfault)瞬态错误(transientfault)间歇性错误(intermittentfault)软件问题软件的可靠性因素复杂,模块化松耦合架构加大了问题的复杂程度

容错硬件容错永久性错误一般由硬件老化、电路短路等原因产生,一旦发生则原定功能失效,必须通过替换元器件来完成恢复。瞬态错误一般属于偶发错误,如外界环境或其他偶然因素导致,可通过重启等方式恢复。间歇性错误处于永久性错误和瞬态错误2种情况之间,表现为瞬态错误的发生频率超过系统可靠性允许阈值范围。冗余与容错冗余的系统不一定是容错的,但容错的系统一定是存在冗余的。

容错容错机制备份复制镜像快照再现追加写操作日志恢复策略

分布式文件系统GFS的容错机制Master容错三类元数据:命名空间(目录结构)、Chunk与文件名的映射以及Chunk副本的位置信息前两类通过日志提供容错,Chunk副本信息存储于ChunkServer,Master出现故障时可恢复

分布式文件系统GFS的容错机制ChunkServer容错每个Chunk有多个存储副本(通常是3个),分别存储于不通的服务器上每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,则转移至其他Chunk副本)

分布式文件系统HDFS运行机制——可靠性保障一个namenode和多个datanode数据复制(冗余机制)存放的位置(机架感知策略)故障检测Datanode心跳包(检测是否宕机)块报告(安全模式下检测)数据完整性检测(校验和比较)Namenode日志文件镜像文件

分布式文件系统HDFS读文件容错1.FSDataInputStream从datanode读取数据时如果遇到错误,会尝试从该块的另外一个最近的datanode读取数据,并记住故障datanode保证以后不会继续从该节点读取其他块2.每个读取的块通过校验和确认以保证数据完整3.如果FSDataInputStream发现一个损坏的块,则在从其他datanode读取块之前通知namenode

分布式文件系统HDFS写文件容错1.FSDataOutputStream维护一个确认队列ackqueue,当收到管线中所有datanode的确认后,该数据包从确认队列中删除2.如果datanode发生故障,则关闭管线,将确认队列中的数据包添加回数据队列的最前端,将故障的数据块和datanode信息返回给namenode以便该datanode恢复后删除错误数据块,从管线中删除错误节点,并把剩余数据块写入正常datanode3.如果复本数量不足,则namenode根据datanode分配新的datanode并创建新的复本,该datanode被加入管线继续正常存储

内存数据库Redis内存数据库,标准C编写实现,10w次/s以上

内存数据库Redis主从复制的过程当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。无论是第一次同步建立的连接还是连接断开后的重新连接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。后台进程完成写文件后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。接着master就会把缓存的命令转发给slave。而且后续master收到的写命令都会通过开始建立的连接发送给slave。

内存数据库RedisSlave从库在连接Master主库时,Master会进行内存快照,然后把整个快照文件发给Slave没有象MySQL那样有复制位置的概念,即无法增量复制当Slave由于网络或者其它原因与Master断开了连接,那么重新连接时,需要重新获取整个Master的内存快照,Slave所有数据跟着全部清除,然后重新建立整个内存表一方面Slave恢复的时间会非常慢,另一方面也会给主库带来压力

内存数据库Redis数据存储格式string(字符串)list(双向链表)set(无序集合)zset(有序集合)hash(hash表)

您可能关注的文档

文档评论(0)

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

计算机二级持证人

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

领域认证该用户于2024年11月02日上传了计算机二级

1亿VIP精品文档

相关文档