当前位置:首页 > 分校动态 > 国家电网招聘

2021年国家电网校园招聘考试计算机专业知识点:从Chubby中获取一个独占锁

来源:长理培训发布时间:2020-05-18 09:42:12
  1. 主服务器
主服务的主要作用如图2-14所示。
当一个新的子表产生时,主服务器通过一个加载命令将其分配给一个空间足够的子表服务器。创建新表、表合并以及较大子表的分裂都会产生一个或多个新子表。对于前面两种主服务器会自动检测到,因为这两个操作是由主服务器发起的,而较大子表的分裂是由子服务发起并完成的,所以主服务器并不能自动检测到,因此在分割完成之后子服务器需要向主服务器发出一个通知。由于系统设计之初就要求能达到良好的扩展性,所以主服务器必须对子表服务器的状态进行监控,以便及时检测到服务器的加入或撤销。Bigtable中主服务器对子表服务器的监控是通过Chubby来完成的,子表服务器在初始化时都会从Chubby中得到一个独占锁。通过这种方式所有的子表服务器基本信息被保存在Chubby中一个成为服务器目录(Server Directory)的特殊目录之中。主服务器通过检测这个目录就可以随时获取最新的子表服务器信息,包括目前活跃的子表服务器,以及每个子表服务器上现已分配的子表。对于每个具体的子表服务器,主服务器会定期向其询问独占锁的状态。如果子表服务器的锁丢失或没有回应,则此时可能有两种情况,要么是Chubby出现了问题(虽然这种概率很小,但的确存在,Google自己也做过相关测试),要么是子表服务器自身出现了问题。对此主服务器首先自己尝试获取这个独占锁,如果失败说明Chubby服务器出现问题,需等待Chubby服务的回复。如果成功则说明Chubby服务良好而子表服务器本身出现了问题。这种情况下主服务器会终止这个子表服务器并将其上的子表全部移至其他子表服务器。当在状态监测时发现某个子表服务器上负载过重时,主服务器会自动对其进行负载均衡操作。
基于系统出现故障是一种常态的设计理念(Google几乎所有的产品都是基于这个设计理念),每个主服务器被设定了一个会话时间的限制。当某个主服务器到时退出后,管理系统就会指定一个新的主服务器,这个主服务器的启动需要经历以下四个步骤。
  1. 从Chubby中获取一个独占锁,确保同一时间只有一个主服务器。
  2. 扫描服务器目录,发现目前活跃的子表服务器。
  3. 与所有的活跃子表服务器取得联系以便了解所有子表的分配情况。
  4. 通过扫描元数据表(Metadata Table),发现未分配的子表并将其分配到合适的子表服务器。如果元数表未分配,则首先需要将根子表(Root Table)加入未分配的子表中。由于根子表保存了其他所有元数据子表的信息,确保了扫描能够发现所有未分配的子表。
在成功完成以上四个步骤后主服务器就可以正常运行了。
 

责编:贺娟花

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部