27、分布式系统设计:从单机到多数据中心的演进

分布式系统设计:从单机到多数据中心的演进

1. 单机设计的困境

在系统设计的初始阶段,我们考虑了单机设计。但系统的关键组件如 CPU、内存、存储、电源、网络和冷却等,任何一个出现故障,都难以合理地支持服务水平目标(SLOs)。即便只是简单的电源循环,也会对用户产生重大影响。因此,单机设计看起来并不可行。不过,这一步并非徒劳,我们从中获取了关于系统约束和初始需求的宝贵信息,认识到需要采用多机设计来演进系统。

2. 分布式系统与 MapReduce 方案

在分布式系统中,我们需要处理查询日志中的搜索词和点击日志中的广告 ID。为了将它们进行关联处理,我们首先考虑了 MapReduce 方案。
- MapReduce 工作原理 :它作为批处理器,定期获取累积的查询日志和点击日志,通过多个机器上的工作进程处理这些大数据集,最终生成按广告 ID 组织的数据集,展示每个搜索词的点击次数。MapReduce 能够直接为每个 AdWords 广告和搜索词创建点击率(CTR)摘要,可用于创建所需的仪表盘。
- MapReduce 评估 :MapReduce 是一种广泛使用的计算模型,具有良好的水平扩展性。无论输入的查询日志和点击日志有多大,增加机器数量都能确保处理过程成功完成,不会出现磁盘空间或内存不足的问题。然而,这种批处理方式无法满足在日志接收后 5 分钟内提供关联日志的 SLO 要求。若要在 5 分钟内提供结果,需以小批量运行 MapReduce 作业,但小批量的任意性和非重叠性使其不切实际。例如,若一个查询记录在批次 1 中,而其点击记录在批次 2 中,两者将无法关联。因此,我们决定寻找其他

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值