博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
云计算分布式架构综述
阅读量:7029 次
发布时间:2019-06-28

本文共 1179 字,大约阅读时间需要 3 分钟。

hot3.png

传统的关系数据库由底层文件系统和上层表格系统构成,类似地,云计算也包含了分布式文件系统(如Google的文件系统GFS)和分布式表格系统(如Google的Bigtable)两个部分,其中分布式文件系统实现可靠、高效的数据存储和处理,分布式表格系统在分布式文件系统的基础上实现表的各种处理逻辑,例如查询、修改、扫描等。此外,鉴于开发和调试分布式程序有比较大的难度,实现高效的分布式程序挑战更大,因而云计算还有一个分布式计算系统(MapReduce),通过它,云计算上的分布式程序开发变得易如反掌,运行效率却大大提升。MapReduce既可以运行在分布式的表格系统上,也可以直接运行在分布式文件系统上,达到很高的并行度,获得很好的效率。
 
云计算系统常常是单一主控机(single master)+多工作机(many workers)模式,worker实现数据的存储、读写、分析处理等,master保存部分或全部元数据、实现worker的任务分配、状态监控、负载平衡、故障监测和故障恢复等。Master常常使用heartbeat+lease或类似机制监控worker的状态,向worker定期发放lease,worker在lease有效期(例如几秒到几十秒)内才进行工作,lease失效后则停止工作。如果master发现某个worker在过去一段时间内没有响应或者出现其他异常,则不再向该worker发放新的lease,并在旧的lease到期后重新分配该worker上的任务。这使得master得以发现有故障的worker并将其从系统中剔除,并在适当的时候采取措施以避免数据丢失或者任务失败等等,也使得系统管理员不需要进行任何额外的操作就可以下线部分worker(例如机器维护、软件硬件升级、机器淘汰等等)。
 
如果没有其他措施,则云计算系统的单一master会成为整个系统的单点。为了避免这种现象的出现,云计算系统通常还有一个分布式选举系统(例如Google的Chubby),master也不再是单一master,而是单一主master+几个辅master,辅master保持着对主master的准同步,一旦主master故障,则其中一个辅master会被选举并升级成为主master。这种选举和升级通常需要若干秒的时间,但由于worker在lease有效期内即使没有master也会继续工作,且应用程序对master的访问通过名字而不是IP地址,因此上层应用程序通常看不到这种切换,或者是一个短暂的停顿。
 
以上只是对云计算分布式架构的一个简单描述,在后续的文章中我还会对各个部分进行较为详细的说明。
 
作者:阳振坤 (yangzhenkun@gmail.com)

转载于:https://my.oschina.net/morflameblog/blog/52474

你可能感兴趣的文章
Vue-cli + express 构建的SPA Blog(采用前后端分离方案)
查看>>
ios中的多播委托
查看>>
Java基础-单例模式
查看>>
轻仿QQ音乐之音频歌词播放、锁屏歌词
查看>>
MongoDB 4.0 RC 版本强势登陆
查看>>
AliOS Things网络适配框架 - SAL
查看>>
iOS 客户端与服务端做时间同步
查看>>
多个请求统一更新界面
查看>>
illuminate/routing 源码分析之注册路由
查看>>
网易公共技术Java研发工程师面经(offer)
查看>>
说说如何在登录页实现生成验证码功能
查看>>
笔记-softmax、softmax loss
查看>>
FastDFS蛋疼的集群和负载均衡(六)之Nginx高可用集群
查看>>
C语言入门经典读书笔记----第十一章 结构化数据
查看>>
Apache Thrift系列详解(二) - 网络服务模型
查看>>
chrome devtools使用详解——Performance
查看>>
了解一下ES6: 解构赋值&字符串
查看>>
7 - 在 Django Admin 后台发布文章
查看>>
SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
查看>>
Umeng第三方登录
查看>>