A. 系统架构概要 --- 分布式系统 --- 数据处理
概述
问题
工作分发不均造成的问题
任务调度
核心:在资源成本和挤占风险之间取得平衡
低优先级运行,导致不能及时获取足够的资源
惊群效应
一个错误导致整个集群出问题
摩尔负载模式:不同任务之间或者同一个任务的不同阶段的资源共享问题
离线批处理
MapReduce
实时流式处理
Spark
Storm
交互式数据分析
Hive
Google Workflow
主要设计
正确性保证
工作进程打开文件做中间结果存储,每个文件名都是全局唯一的
有效租约设计:只有拥有有效租约的任务才能够更新状态
每个任务都拥有一个全局ID,任务发生变化,ID也发生变化:一个工作进程必须同时持有一个活跃的租约,并且拥有配置文件中的正确ID,即任务ID
客户端和服务器在每次操作的时候检验“主任务”令牌,防止主任务发生变化产生错误
全球容灾操作
全球一致性数据库提供日志存储
通过Chubby选主,同时将结果存放到Spanner(全球一致性数据库),客户端使用内部的一个名称来查询目前的“主任务”
部署Global workflow和Local workflow两种角色Global workflow管理任务引用,Local workflow会将任务引用提交给Global workflow,Local workflow负责在Global workflow系统中更新一个特殊的心跳任务。如果心跳任务一段时间没有更新,另外一个远端的workflow任务会接手目前的任务。
A. 系统架构概要 --- 分布式系统 --- 数据处理
猜你喜欢
转载自blog.csdn.net/micklongen/article/details/89743475
今日推荐
周排行