写点什么

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 )关注我们。

2016-10-19 19:003124
用户头像

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

关注

评论

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

毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题

Java spring Spring Boot 框架

PoseiSwap:合规、隐私与支持更广泛的资产

鳄鱼视界

【RabbitMQ】| 带你 (超详细) 从0到1使用SpringBoot操作RabbitMQ

Java你猿哥

Java spring Spring Boot ssm RabbitMQ

利用 Amazon API Gateway 和 Amazon Lambda 处理 Cloudfront 的内容请求

亚马逊云科技 (Amazon Web Services)

如何优化Golang中重复的错误处理

乌龟哥哥

三周年连更

系列课程:从零开始接触人工智能大模型(介绍)

茶桁

2023最新后端中大厂面经&在面试过程中如何反问?

Java你猿哥

Java ssm java面试 面试官 Java面经

单调栈模板总结及应用

timerring

算法

由Elasticsearch7.8评分脚本引起的一个索引迁移解决方法

北桥苏

elasticsearch Logstash ELK Stack

比起失业我更害怕自己“一无是处”|社区征文

轻口味

个人成长 移动端 三周年征文

创意世界在 Photoshop 上运行~

真大的脸盆

Mac ps Mac 软件 Photoshop 2022下载

Logstash同步MySQL一对多关联表到Elasticsearch父子文档

北桥苏

elasticsearch Logstash ELK Stack

Kubernetes CNI之Flannel网络模型分析

王玉川

Kubernetes 云原生 flannel VXLAN cni

独一份,15年经验汇聚而成的《SpringBoot“踩坑”手册》首次开源

Java spring Spring Boot 框架

深入解析Java适配器模式:将接口转换为你所需要的形式

Java 适配器

Github标星90K!不愧是阿里大牛珍藏的LeetCode题解全彩小册

Java你猿哥

面试 算法 LeetCode ssm 算法题

干货力荐!京东首席架构师:亿级流量架构的核心技术文档

Java 架构 亿级流量

C++编译器和链接器的完全指南

小万哥

c++ 程序员 面试 后端 开发

一篇文章教你在业务开发中高效玩转TDD(测试驱动开发)

Java你猿哥

Java ssm TDD

必知必会的JavaScript前端面试题篇(二),不看后悔!

沉浸式趣谈

逆袭!阿里专家手码23版Java面试三件套,Github星标直线狂飙

Java你猿哥

Java 微服务 面经 算法题 java核心知识点

程序员晋升指南!13年顶级架构设计经验的锦囊妙计与实践分享

Java你猿哥

Java 架构 ssm 架构设计 架构师

Logstash同步MySQL关联表到Elasticsearch的嵌套文档中

北桥苏

elasticsearch Logstash ELK Stack

Go语言中如何通过接口来实现单一职责原则

Jack

深入探秘OpenTelemetry Agent奇特的muzzle机制

骑牛上青山

Java Java Agent OpenTelemetry

使用Spring Boot接入ChatGPT

Java你猿哥

Java spring Spring Boot ssm ChatGPT

奇葩的 Git 签名错误

HoneyMoose

23年最新Java岗常见面试题及答案(1000道),90% 的公司都会问到

Java你猿哥

Java MySQL zookeeper JVM java面试

如何通过Logstash将MySQL数据同步到ElasticSearch

北桥苏

php MySQL elasticsearch Logstash

Logstash如何批量同步MySQL多表到ElasticSearch

北桥苏

elasticsearch Logstash ELK Stack

Django笔记二十六之数据库函数之数学公式函数

Hunter熊

Python 数据库 django 公式函数

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