Confluent Platform 3.0支持使用Kafka Streams实现实时的数据处理(最新版已经是3.1了,支持kafka0.10了)...

来自 Confluent 的 Confluent Platform 3.0 消息系统支持使用 Kafka Streams 实现实时的数据处理,这家公司也是在背后支撑 Apache Kafka 消息框架的公司,它近日宣布 最新的开源平台已经达到了通用发布(general availability)版本。Confluent Platform可以围绕Apache Kafka创建可扩展的数据平台,Apache Kafka是一个实时的、分布式的、具有容错功能的消息队列,它能够扩展至非常大量的消息。

Kafka Streams是进行数据实时处理的轻量级方案,可以用在欺诈和安全监控、物联网的(Internet of Things,IoT)操作和设备监控。它为Kafka提供了一个新的、原生的流开发环境。开发人员能够使用这个库基于Kafka构建分布式的流处理应用。Kafka涵盖的功能是消息和数据传输,而Kafka Streams涵盖的功能则是数据的处理。

Kafka Streams支持有状态和无状态的处理,同时还支持数据的分布式容错处理。要使用Kafka Streams,并不需要单独的集群、消息转换层或外部依赖。它每次会处理一个事件,而不是小批量(micro-batch)的消息。它还允许数据的延迟抵达并支持windowing处理乱序的数据。

读者可以下载 Confluent Platform 3.0 或查阅新发布版本的 文档 ,其中包含了 Kafka Streams文档 以及 快速起步指南 。

在最近的新闻中,Confluent还宣布了 Confluent Control Center 的发布,这是一个用于管理Kafka集群的商业产品。Confluent Control Center可以作为Confluent Enterprise 3.0的一部分来获取,它的设计目的是帮助数据工程团队操作组织中的Kafka。这个管理工具为运维人员和数据团队提供了监控Kafka系统不同组件的功能,这些组件包括主题、生产者和消费者,并且能够理解数据管道中发生了什么状况。

借助Control Center,运维人员能够在消息级别检查数据环境,从而能够理解消息投递情况、可能出现的瓶颈并且可以在原生的Kafka环境中观察端到端的消息投递。为了满足特定的需求,Control Center UI允许运维人员连接新的数据源到集群上并配置新的数据源连接器。

如果你有兴趣学习Control Center的更多知识,可以关注接下来的 webinar 。

InfoQ采访到了来自Confluent的Joseph Adler(产品管理和数据科学主管)和Michael Noll(产品经理)来进一步了解这些产品发布信息以及这些产品如何帮助开发人员和运维团队。

InfoQ:Kafka Streams与其他的流数据处理框架如 Storm 、 Spark Streaming和 Apache Flink 相比,其差异性是什么呢?

Joseph Adler & Michael Noll:在流处理框架方面,负责流处理的开发人员有很多不同的可选方案。事实上,其中很多方案已经将Kafka用于在它们的流处理管道中了。Kafka Streams构建在Apache Kafka坚实的技术基础之上,从这里它继承了Apache Kafka的可扩展性、弹性、容错性以及很多其他的特性。我们相信Kafka Streams降低了进入流处理领域的门槛,因此能够让很多的公司从实时洞悉业务现状中收益。Kafka Streams也继承了Kafka的安全模型,也就是加密传输中的数据,这对像金融这样的行业来说,是很好的选择。

像Spark和Flink这样的框架通常会用在中心数据工程团队中,用于发挥大数据和数据仓库设施的威力。它们的设计是“大型重量级(heavy lifting)”的——运行复杂的查询,所消耗的时间能够持续数小时甚至更长。

Kafka Streams适用于“快速的应用”或“流应用”——在这些应用中,产生响应的速度是非常重要的。输出可能是购买决策、基于特定场景的报价或者安全告警。这些开发人员一般会位于某个业务处理的流水线之中。

借助Kafka Streams,对于实时处理这样的需求,我们不必像已有的流处理框架那样安装和运维单独的集群。很多人其实已经使用Kafka从事一些实时的数据处理(如欺诈探测、用户活动跟踪或流量监控)并将Kafka作为数据平台中消息系统的基石,所以使用Kafka Streams来处理Kafka原生环境中所有的数据是很自然的选择,这样的话,就没有必要新增另外的基础设施和技术了,如果要新增技术的话,开发人员可能还需要对其理解、优化并保证它的持续运行。

InfoQ:Flink在流数据的处理中,并没有使用micro batch的方式,这与Kafka Streams的工作机制是类似的。Kafka Streams与Flink还有什么相似之处或差异吗?

Adler & Noll:Kafka Streams学习了行业之前的经验,包括学术上的,也包括开源项目社区的,如Apache Samza。这说明在重要领域具有一定的相似性,比如恰当的时间模型来区分事件时间与处理时间的语义,以及正确处理延迟到达、数据乱序的能力。这些特性对于任何实用的流处理用例都是必需的。

另外一个关键的差异在于Kafka Streams支持弹性,也就是说,可以动态地增加和收缩处理能力。例如,在Kafka Streams中,开始的时候,我们可以只有一台机器运行流处理应用,用它来处理传入的业务数据。当数据量增大,一台机器的处理能力不足以应对的时候,那么就可以(在运行时操作,无需停机)在另外一台机器上启动相同的应用,它们会自动分担工作内容。

InfoQ:Kafka Streams支持Windowing功能。你们能更详细地描述一下这个特性吗,在实时数据处理中,它的作用是什么?

Adler & Noll:windowing允许我们将持续的数据流划分为更小的块(chunk)。这种windowing最为常见的是基于时间,比如基于五分钟的间隔来执行分析。对于很多的使用场景来说,windowing是非常重要的,比如欺诈检测(“这个人在过去从来没有在一个小时内多次使用信用卡,但现在,我们在过去的五分钟内看到了五十笔交易——那么信用卡可能被盗了”)或者热门话题(“在过去的24小时内,Twitter的大多数用户关注美国的总统大选、新的Apple MacBook以及Justin Bieber的最新视频”)。

InfoQ:你们能阐述一下基于时间(Time)和基于会话(Session)的windowing方案的差别吗,以及分别应该在何时使用它们?

Adler & Noll:比如说,基于时间的windowing会将流数据划分为每隔五分钟的数据块。可以将其想象为一个计数器:每隔五分钟,你就会宣布“新窗口的数据!”有很多的使用场景都需要windowing功能,可能绝大多数都是基于时间的。

与之不同,如果是基于会话的windowing,那么它的范围就不是严格的计时器规则了,这是为了将相关的事件分组到一个所谓的会话(session)中。可以将这些会话视为一个阶段内的活动。使用基于会话windowing的一个常见使用场景就是分析用户交互事件,例如理解用户如何阅读《金融时报》的Web站点以及如何与Facebook进行交互。

InfoQ:你们能介绍一下Kafka在安全方面所提供的功能吗,这可能会涵盖到对消息和主题的限制访问以及跨Kafka服务器的加密数据传输?

Adler & Noll:在认证方面,Kafka支持SASL/Kerberos、SASL/PLAIN和SSL/TLS。而在授权方面,Kafka提供了ACL来控制对特定主题的读取/写入/管理访问,该功能可以配置为针对认证用户和特定的IP来进行。

传输中的数据可以使用SSL/TLS进行加密,它的加密发生在数据生产者到Kafka broker之间(服务器),从Kafka broker到数据消费者之间以及Kafka集群内部broker之间的通信。

InfoQ:Kafka集群能否部署到Docker容器之中?是否有什么最佳实践或在线资源,帮助开发人员进行这种集成?

Adler & Noll:是的,可以部署Kafka集群到Docker容器中。Confluent提供了实验性的Docker镜像来运行Confluent Platform,其中就包含了Apache Kafka。也就是说,运行基于Docker的Kafka环境依然还是一种例外的情况,而不是通用的规则。一方面这是因为相对来讲,Docker还是较新的技术,尚没有完全成熟。另一方面,在数据架构中,Kafka的角色是存储数据和提供数据服务,也就是说。它是“有状态”的服务。Docker的哲学和最佳实践是不要在容器内运行有状态的服务——它更适合没有状态的服务——因此,弥合这两个稍微正交的方式需要一些特殊的考量。

InfoQ:在新特性和功能增强方面,Kafka有什么规划?

Adler & Noll:在接下来的发布版本中,Apache Kafka社区规划关注于运维的简便性和更强的投递可靠性。这部分工作包括Apache Kafka中改进的数据平衡、更多的安全增强并支持精确的单次投递。Confluent Platform将会具有更多的客户端、连接器,在Confluent Control Center中则会扩展监控和管理功能。同时,Kafka Streams的第一个版本已经随Kafka 0.10一起发布了,Kafka社区和Confluent将会继续致力于扩展Kafka Streams的功能。我们正在进行的一个特性就是在实现流处理应用的时候,可以使用的一个SQL接口。这是我们想要包含进来的一个特性,它有助于扩展Kafka Streams的用户基础,也能在总体上提升流处理能力。

查看英文原文: Confluent Platform 3.0 Supports Kafka Streams for Real-Time Data Processing

转载于:https://www.cnblogs.com/felixzh/p/6035610.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle串连接,Oracle中串连接符||的使用心得(个人见解)

Oracle中可以用串连接符||将若干个串连在一起(Oracle中也可以使用concat函数,但是它只最多连接两个串。而MySQL中concat可以连接多个串。在SQL Server中则使用进行串连接)。当然,这两个串可以是列名或字面值。例如:select province || city f…

HDU5971【瞎搞】

题意:略(忙着准备文化课。。。明天期中考啊。。。。 思路: 正解就是染色,2-sat搞; AC代码(虽然是错误的。。。数据水(过踏马的也行啊,起码打脸他啊!) 4 3 1 0…

性能测试oracle瓶颈定位,性能测试中如何定位性能瓶颈

性能测试的概念是什么,基本目的是什么,我想大家都基本清楚,不作详述,总之,性能测试只是测试过程中的一种方式,帮助我们的功能更好的运行,如果功能测试是可用,易用,满足需…

Java GridBagLayout 简单使用

这里只介绍了很基础布局构建及使用,主要是关于 GridBagLayout. 首先整套流程大概是, 声明一个 GridBagLayout 对象 private GridBagLayout gridBagLayoutFrame new GridBagLayout(); 然后把当前类的容器布局管理器设置为 GridBagLayout this.setLayout(…

oracle数据库存储ip地址,oracle – 以十进制形式存储的IP地址 – PL / SQL以虚线四边形显示...

这是您需要的功能:create or replacefunction inttoip(ip_address integer) return varchar2deterministicisbeginreturn to_char(mod(trunc(ip_address/256/256/256),256))||.||to_char(mod(trunc(ip_address/256/256),256))||.||to_char(mod(trunc(ip_address/256…

Angular之简单的登录注册

使用Angular实现了一个简单的登录注册的功能........ 涉及到的Angular知识点很少 主要是这个功能的实现...(*^__^*) 嘻嘻…… 里面涉及到的知识点记录: 1.本地存储的操作 localStorage 获取本地存储的值 window.localStorage.getItem(key)-->value (得到的数据是字符串&qu…

Linux命令行调用动态库,Linux动态链接库的使用

动态链接库与普通的程序相比而言,没有main函数,是一系列函数的实现。通过shared和fPIC编译参数生产so动态链接库文件。程序在调用库函数时,只需要连接上这个库即可。例如下面实现一个简单的整数四则运输的动态链接库,定义的cacula…

Linux用户、用户组、文件权限设置

最近打算更仔细学习一下linux操作系统。先是恶补了一下用户、用户组、文件权限这三样比较重要的知识。(我也正在学Linux,所以就找到这篇日志了,有些设置修改后需要重启系统后才能生效。)学习这几样东西,得先掌握linux的权限系统相关知识。lin…

linux系统ip访问53端口,linux – 使用公共IP地址无法访问本地端口

我有一个linux服务器,它有公共IP和私有IP.因此,当我使用公共IP登录时,终端直接显示私有IP.例:$ssh root55.27.XX.XXroots password:root10.1.4.20:~$hostname -I10.1.4.20root10.1.4.20:~$wget -qO- http://ipecho.net/plain ; echo55.27.xx.xx现在,我安装了Nginx,我…

微信扫码下载iosAPP

1.首先在应用宝上传你的安卓APP应用,AppStore已经有了APP 2.进入应用宝app应用管理中心,点击“微下载”,然后里面的微下载链接地址就可以用了,可以看到ios可以通过应用宝再跳到AppStore就可以实现下载了转载于:https://www.cnblog…

linux当前时间到1970年秒数,计算从1970年到当前时间所经历过的秒数

这个算法来自LINUX的源码,下面带有大神的解析,自己在RTC实验中也使用了,不用月份表,润平年的处理,几行就可得出结果,以下是程序和大神的解析Linux源码中的mktime算法解析我们知道,从CMOS中读出来…

脱水缩合(大搜索)

脱水缩合 (merge.c/cpp/pas) 【题目描述】 fqk 退役后开始补习文化课啦, 于是他打开了生物必修一开始复习蛋白质,他回想起了氨基酸通过脱水缩合生成肽键,具体来说,一个氨基和一个羧基会脱去一个水变成一个肽键。于是他脑洞大开&am…

ubuntu16.04下安装NS-2.35以及对simple例的理解

本人是在VMWare上安装的ubuntu16.04版本,然后安装NS2.35. 1.下载ns2的安装包,这里我选择的是ns-allinone-2.35.tar.gz压缩格式的all in one安装包,all in one 安装包包含所有的组件,比较方便,另附下载地址:…

linux查看登录服务器的ip历史记录,通过登陆IP记录Linux所有用户登录所操作日志的方法...

对于Linux用户操作记录一般通过命令history来查看历史记录,但是如果在由于误操作而删除了重要的数据的情况下,history命令就不会有什么作用了。那么依然要存有历史操作记录应该如何来实现呢?其实我们可以通过登陆IP地址来记录所有用户登录所操…

linux 向程序发送信号,Linux下的信号处理

Linux下的信号处理发布时间:2006-01-02 09:34:14来源:红联作者:reing前言:这一章我们讨论一下Linux下的信号处理函数。Linux下的信号处理函数:信号的产生信号的处理其它信号函数一个实例1.信号的产生Linux下的信号可以类比于DOS下的INT或者是Windows下的…

思科模拟器:[1]安装及汉化详解

思科模拟器是网络工程师经常使用的网络实验模拟软件,它可以很快捷的模拟网络中的各种设备(交换机、路由器、台式电脑、笔记本电脑、服务器、网络云),搭建各种网络环境,模拟网络拓扑结构等。下面天使图文教程,告诉大家怎么安装这个…

linux中的加法函数,上下文管理练习(为加法函数计时)

上下文管理(为加法函数计时)为加法函数计时使用装饰器显示该函数的执行时长使用上下文管理显示该函数的执行时长装饰器实现import timeimport datetimefrom functools import wrapsdef logger(fn):wraps(fn) # wraps(fn)(wrapper)def wrapper(*args, **kw):start datetime.dat…

07数组与接口

1、运行TextInherists.java 示例,观察输出,注意总结父类与子类之间构造方法的的调用关系,修改parent构造方法的代码,显式调用grandparent另一个构造函数。 源代码: class GrandParent{ public GrandParent(){ System.o…

windows 访问linux中的mongodb,MongoDB的linux系统下的安装与连接

一 安装MongoDB的服务下载Linux系统下的MongoDB安装包上传压缩包到linux服务器中,解压到对应的安装目录下mkdir /usr/local/mongodbtar -zxvf mongodb-linux-x86_64-4.0.10.tgzmv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb新建目录,分别用来存储数…

像阿超那样,花20分钟写一个能自动生成小心四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算。 和同学们比较一下各自程序的功能,实现方法的异同,等等...

package chapter;public class szys { public static void main(String[] args) { print30Questions(); } private static void print30Questions() { //说明:打印30道题函数,把接收到的题目字符串按照指定格式输出。…