写点什么

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:002989
用户头像

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

关注

评论

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

每日算法刷题Day11-最大公约数、数组去重

timerring

算法题 9月月更

工赋开发者社区 | 大“火”的扩散模型综述又一弹!UCF等《视觉扩散模型》综述,20页pdf详述三种通用的扩散建模框架

工赋开发者社区

加速 Amazon RDS for MySQL 只读副本提升

亚马逊云科技 (Amazon Web Services)

MySQL RDS

边缘计算技术及其安全

阿泽🧸

边缘计算 9月月更

大数据ELK(三):Lucene全文检索库介绍

Lansonli

9月月更 EKL

实时云渲染 VS 本地渲染,全面横向对比

3DCAT实时渲染

云办公时代SaaS行业如何保证用户使用体验,提高用户留存率?

Baklib

SaaS 帮助文档

Java 学习 --SpringBoot 常用注解详解(二)

六月的雨在InfoQ

springboot 注解 Spring Bean @Component 9月月更

链游版羊了个羊-SeedX,17号上线欢迎挑战

BlockChain先知

【MySQL进阶】事务一

六月暴雪飞梨花

MySQL 事务 9月月更 InnoDB存储引擎

一个不错的开源项目风控引擎(Radar)

Java-fenn

Java

PC市场如何再起波澜?荣耀的创新或是答案

脑极体

2022-09-16:以下go语言代码输出什么?A:101;B:100;C:1;D:2。 package main import ( “fmt“ ) type MS struct {

福大大架构师每日一题

golang 福大大 选择题

【MySQL 进阶】事务二

六月暴雪飞梨花

MySQL 事务 9月月更 InnoDB存储引擎

第四章 C语言之牛客网刷题📖笔记

Dream-Y.ocean

c 算法 9月月更

测试左移-快速玩转Debug

转转技术团队

问题排查 测试debug

高级前端手写面试题

helloworld1024fd

JavaScript 前端

社招前端一面经典手写面试题集锦

helloworld1024fd

JavaScript 前端

Java进阶(二十三)java中long类型转换为int类型

No Silver Bullet

Java 类型转换 9月月更

[SSM]异常处理

十八岁讨厌编程

Java 后端 9月月更

全新 Amazon RDS for MySQL 和 PostgreSQL 多可用区部署选项

亚马逊云科技 (Amazon Web Services)

Java学习--SpringBoot 常用注解详解(一)

六月的雨在InfoQ

Spring Boot Spring MVC Spring注解 9月月更

【指针内功修炼】函数指针 + 函数指针数组 + 回调函数(二)

Albert Edison

数组 指针 C语言 9月月更 指针数组

《Java面试考点大全》全网首发,带你摸熟20+互联网公司的面试考点!

收到请回复

Java 云计算 开源 架构 编程语言

阿里、字节、美团我都面了,offer也拿到了,全靠这份Java面试题!

收到请回复

Java 云计算 开源 架构 编程语言

[SpringBoot]SpringBoot整合第三方技术

十八岁讨厌编程

Java 后端 9月月更

【C语言】自定义类型(结构体类型+枚举类型+联合体类型)[进阶篇_ 复习专用]

Dream-Y.ocean

c 结构体 9月月更

无限道具教程最新版9.17——大熊G

大熊G

羊了个羊

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