BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Lambda架构的问题

| 作者 Seth Cousins 关注 0 他的粉丝 ,译者 王振峰 关注 0 他的粉丝 发布于 2014年9月11日. 估计阅读时间: 4 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

Jay Kreps在其博文中揭示了Lambda架构可用性和适用性的限制,他认为虽然Lambda思想充满了价值,但终究是一个临时解决方案,原因是其工具不成熟而非大数据的前景。他提供了一个替代架构,该架构基于他在Linkedin构建Kafka和Samza的经验,他还声称该架构在具有相同性能特性的同时还具有更好的开发和运维特性。

Lambda架构是一种面向大规模流式处理的解决方案,它结合批处理与实时处理以实现可扩展性和容错。该模式通常通过基于Apache Hadoop的MapReduce和Apache Storm分别实现。Nathan Marz基于他在Twitter的经验设计了该方案,并发表在一篇题为如何打破CAP定律的博文中,还有对应网站以及与此架构相关的即将出版的书籍

Kreps承认了Lambda的两条重要原则:数据输入是不可变的和原始数据输入可以被再处理用以重新输出结果。保留原始输入允许我们处理数据,即使以前所未有的方式也无所谓,还能在因不明原因保存损坏数据的情况下提供恢复机制。当需要新的输出域时,或前一个版本的处理代码有bug导致输出不正确时,都需要再处理数据输入。

同时Kreps认为Lambda包含固有的开发和运维的复杂性。Lambda需要将所有的算法实现两次,一次是为批处理系统,另一次是为实时系统,还要求查询得到的是两个系统结果的合并。考虑到将复杂算法正确地实现一次都是一个挑战,执行两次这样的任务以及调试不可避免的问题显然是难上加难。除此之外,运维两个分布式多节点的服务肯定比运维一个更难。

Kreps概括其高层指南说道:

近来,我的建议是如果你对延迟不敏感,那就使用批处理框架如MapReduce,如果敏感就使用流处理框架,但是不要尝试同时使用这两种系统,除非有绝对需要。

那么为什么大家对Lambda架构如此兴奋呢?我想原因是人们越来越需要构建复杂和低延迟的处理系统。他们所能使用的两个工具都不能完全解决问题:用于处理历史数据的可扩展的高延迟批处理系统,和无法再处理结果的低延迟流式处理系统。但将这两个工具连在一起,就可以构建可用的解决方案。

对于那些同时需要低延迟和处理巨大历史数据集的应用场景,Kreps建议实时流式处理系统够用了。当需要再处理数据时,增加并行处理数量和快速重放历史就是解决方案。Linkedin目前使用的就是该方案,使用Kafka和Samza实现。Kreps说相同的方案使用Storm或其他流式处理系统也照样能工作。他确信,这两种架构的运行时效率大致一样,但是单系统显然更易开发和调试。

社区对Kreps博文的反馈是几乎普遍支持,有几个人同意Krep的观点与他们的经验相符。@jcsalterego说“非常棒的博文,谢谢。与我所见一样,虽然比Linkedin的规模小不少”,@jijoejv说“好文。我们在@Nextag使用”Kappa”架构已经一年半,使用Storm+Kafka(90天统计图)。修复Bug非常容易”。Nathan Marz目前尚未作出回应。

查看英文原文:Questions About the Lambda Architecture


感谢曹知渊对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT