【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

Jay Kreps 谈基于 Apache Kafka 和 Kafka Streams 的分布式流处理

  • 2016-10-19
  • 本文字数:1116 字

    阅读完需:约 4 分钟

借助 Apache Kafka Kafka Streams 框架可以更好地搭建以流为中心的架构和开发分布式流处理应用程序。Confluent 的 CEO Jay Kreps 在上周举行的 2016 响应式峰会上为我们带来了有关流处理和微服务的演讲

Jay 说,人们已经在数据库技术上做了很多研究,但在消息队列上做得并不多。在基于微服务的系统架构里,消息传递可以作为服务的强有力后盾。

他提到了三种编程范式:请求 / 响应、批处理和流处理,以及这三种范式之间的区别。流处理同时适用于在线和批处理两种场景。流处理并不是更快的 MapReduce,而是处理和分析数据的另一种范式。Jay 介绍了 Kafka 的四种有关流处理的核心API :Producer、Consumer、Connector 和Streams。

Kafka Streams 是一个 Java 类库,可以用来构建具有容错能力的分布式流处理应用程序。它支持 map、filter、aggregate(count、sum)和 join 这些方法。

在大会的另一个演讲里,来自UC Santa Cruz 的 Peter Alvaro 谈到如何为大规模分布式容错系统做自动故障测试。他提到了沿袭驱动故障注入(Lineage-Drive Fault Injection, LDFI )方法,这种方法利用日志跟踪信息来识别冗余计算,有助于测试的进行。

Peter 总结了系统故障测试需要具备的四个条件:

  • 真实的问题
  • 真实的系统
  • 思考时间
  • 故障自由

关于这个话题的更多信息,可以在 Netflix博客上看到。

大会第二天的活动内容包括Jan Machacek 带来的“从单体到微服务”以及Anil Gursel 和Akara Sucharitakul 带来的“使用Akka Streams 和Kafka 进行回压”。

Jan Machacek 介绍了如何使用 Akka、Scala 和 Kafka 开发一个微服务系统。这个系统还使用了 Apache Cassandra 作为数据存储,还有 RabbitMQ,以及在 Apache Spark 里运行的批处理分析代码。他建议我们在开发分布式系统时要有很好的监控和跟踪能力。每个微服务都可能会发布自己的内部 API,开发者们要知道如何使用它们。

Anil Gursel 和 Akara Sucharitakul 讲述了他们在 PayPal 利用 Akka Streams 和 Kafka 的回压能力来应对突发性负载的经历。他们举了一个 Web 爬虫的例子,并告诉我们他们是如何利用 Kafka 的缓冲能力和 Akka Streams 的回压异步处理能力来应对突发性负载的。

Akka Streams 框架提供了纯异步流处理,具有响应式流的特点。他们还讲到了 Squbs ,Squbs 是 PayPal 开发的一个响应式平台,并具有引导启动、生命周期管理能力,可以用于构建松耦合的模块化系统,并为日志和监控提供了集成接口。

查看英文原文: Jay Kreps on Distributed Stream Processing with Apache Kafka and Kafka Streams


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2016-10-19 19:002533
用户头像

发布了 322 篇内容, 共 133.6 次阅读, 收获喜欢 142 次。

关注

评论

发布
暂无评论
发现更多内容

2021年Android开发陷入饱和,又是一年金九银十

android 面试 移动开发

2021年Java开发突破20k有哪些有效的路径,JVM发生内存溢出的8种原因

Java 面试 后端

2021年Android程序员职业规划,小白勿进

android 面试 移动开发

2021年Java程序员职业规划,华为Java面试题目

Java 面试 后端

2021年Java工作或更难找,华为Java面试社招

Java 面试 后端

2021年Android笔试题总,详解Android架构进阶面试题

android 面试 移动开发

2021年Android网络编程总结篇,retrofit面试

android 面试 移动开发

代码检查规则背景及总体介绍

百度开发者中心

最佳实践 代码规则

IT运维和自动化运维以及运维开发有啥不同?能解释下吗?

行云管家

互联网 运维 IT运维 自动化运维 云运维

2021年Java面试心得,整理出这份8万字Java性能优化实战解析

Java 面试 后端

2021年Android开发者常见面试题,涨薪7K

android 面试 移动开发

对比会声会影与剪映哪个制作转场效果更专业

懒得勤快

2021年Android程序员职业规划,阿里P7大牛亲自讲解

android 面试 移动开发

【等保知识】十个等保常见问题解答汇总

行云管家

网络安全 信息安全 等级保护 过等保 数据审计

2021年Android开发者跳槽指南,附超全教程文档

android 面试 移动开发

2021年Java者未来的出路在哪里,Java开发校招面试题

Java 面试 后端

2021年Java常见面试题,面试官让我回家等通知

Java 面试 后端

2021年Java开发前景如何,大厂Java面试真题精选

Java 面试 后端

2021年Java面经分享,别再说你不会JVM性能监控和调优了

Java 面试 后端

2021年Java高级面试题总结,2021最新大厂高频微服务面试总结

Java 面试 后端

2021年Android社招面试题精选,附答案解析

android 面试 移动开发

2021年Java开发突破20k有哪些有效的路径,2021Java面试笔试总结

Java 面试 后端

2021年Java网络编程总结篇,红黑树详细分析(图文详解)

Java 面试 后端

Github上线仅六天,收获Star超55K+,这套笔记足够你拿下90%以上的Java面试!

Java 架构 面试 后端 计算机

2021年Java者未来的出路在哪里,让人抓狂的Nginx性能调优

Java 面试 后端

2021年Android社招面试题,阿里蚂蚁金服五面

android 面试 移动开发

2021年Java笔试题总,教你抓住面试的重点

Java 面试 后端

谁是中国最受赞赏的创投机构?

创业邦

2021年Java开发者常见面试题,初级Java面试题及答案

Java 面试 后端

2021年Java技术下半场在哪,35岁技术人如何转型做管理

Java 面试 后端

2021年Java面经分享,程序员必备技能:时间复杂度与空间复杂度的计算

Java 面试 后端

Jay Kreps谈基于Apache Kafka和Kafka Streams的分布式流处理_大数据_Srini Penchikala_InfoQ精选文章