借助 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开发的一个响应式平台,并具有引导启动、生命周期管理能力,可以用于构建松耦合的模块化系统,并为日志和监控提供了集成接口。

感谢冬雨对本文的审校。

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

akka kafka java_Jay Kreps谈基于Apache Kafka和Kafka Streams的分布式流处理相关推荐

  1. 再谈基于 Kafka 和 ZooKeeper 的分布式消息队列原理

    关于分布式消息队列,我在几个月前写过一篇文章:<深入浅出理解基于 Kafka 和 ZooKeeper 的分布式消息队列 >.最近,由于写作课程<分布式中间件实践之路>的契机,我 ...

  2. 您在2016年会做什么? Apache Spark,Kafka,Drill等

    让我们玩得开心. 这是新的一年的开始-我们正处于新事物的门槛上-因此让我们期待您在2016年可能会做的事情.现在我知道做出预测的风险,尤其是有记录的预测,但是我很高兴您能在一年后回访,看看我对2016 ...

  3. 【kafka】浅谈Kafka的多线程消费的设计

    1.概述 转载:浅谈Kafka的多线程消费的设计 看原文去... 一.前言 跟RabbitMQ相比,Kafka的分区机制(Partition)使其支持对同一个"队列"分片并行读取, ...

  4. Apache Kafka-初体验Kafka(02)-Centos7下搭建单节点kafka_配置参数详解_基本命令实操

    文章目录 安装JDK 安装zookeeper 安装kafka 下载解压 配置hosts 启动kafka服务 server.properties核心配置详解 基本命令 创建主题 发送消息 消费消息 查看 ...

  5. Apache Kafka-初体验Kafka(01)-入门整体认识kafka

    文章目录 kafka官方文档 使用场景 Kafka基本概念 消息( Message )相关术语 主题Topic & 消息日志Log 分布式Distribution Producers Cons ...

  6. Python 基于pykafka简单实现KAFKA消费者

    基于pykafka简单实现KAFKA消费者   By: 授客 QQ:1033553122         1.测试环境 python 3.4 zookeeper-3.4.13.tar.gz 下载地址1 ...

  7. 别了 Kafka!拉卡拉的 Apache Pulsar 最佳实践

    关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支 ...

  8. Apache Kafka-SpringBoot整合Kafka发送复杂对象

    文章目录 Spring Kafka概述 Code 依赖 配置文件 消息 生产者 消费者 单元测试: 同步发送 测试 单元测试: 异步发送 源码地址 Spring Kafka概述 Spring提供了 S ...

  9. Apache Kafka-初体验Kafka(04)-Java客户端操作Kafka

    文章目录 操作步骤 Maven依赖 生产者 消费者 操作步骤 Maven依赖 核心依赖 kafka-clients <dependency><groupId>org.apach ...

  10. Apache Flink和Kafka入门

    介绍 Apache Flink是用于分布式流和批处理数据处理的开源平台. Flink是具有多个API的流数据流引擎,用于创建面向数据流的应用程序. Flink应用程序通常使用Apache Kafka进 ...

最新文章

  1. python饼图怎么显示中文_python生成饼图解决中文乱码
  2. WebAPI前置知识:HTTP与RestfulAPI
  3. ibm招mysql_IBM-ETP实训之MySql基本命令总结
  4. SHELL 003 -- ss命令常用方法
  5. 程序员找工作?只凭感觉去面试?不要做白日梦了,程序员必备面试题,脱口而出的专业语言,让你的薪水翻一番,建议收藏
  6. win7电脑误删鼠标键盘驱动_Win7系统鼠标键盘驱动检测不到的三种解决方法
  7. tomcat 8.0下载
  8. excepted one 0f #, =>at line16,column 16(byte 311)
  9. 八字算命网站源码技术细节解析:使用PHP和JAVA实现的MVC架构、MySQL数据库设计和功能模块介绍
  10. 乐优商城之品牌新增fastDFS(九)
  11. KinectGestures
  12. 淘宝店小蜜配置手册——店小蜜收费策略及应对方案
  13. 2020-11-29 漫谈email之smtp、pop3、spf dkim
  14. 这些年过上幸福生活的程序员(中篇)
  15. Linux书签(05)用linux more命令查看日志文件
  16. R语言︱文本(字符串)处理与正则表达式
  17. python数据可视化神器--pyecharts 快速入门
  18. C语言中打印扩展字符
  19. 迅雷近年产品经理笔试题汇总
  20. matlab 计算变异系数,[转载]用Matlab编的计算结构可靠指标的改进一次二阶矩法程序(验算点法)...

热门文章

  1. 移植openharmony添加组件ace编译报错文件解决
  2. thonny python介绍_Thonny
  3. Golang 获取月初和月底日期
  4. 启动虚拟机sd 0:0:0:0: [sda] Assuming drive cache: write through错误解决 本人实测!
  5. 进bios快捷键集合
  6. 可见性得以保障,并不意味着_更少的数据并不意味着更少的体验
  7. 【避坑指“难”】react-dnd引入后,.mjs文件解析错误
  8. 欢迎大家关注我的微信公众帐号小q机器人(xiaoqrobot)
  9. Windows一键清空回收站
  10. 如何购买一台云服务器