apache kafka_Apache Kafka –它是什么?与Amazon Kinesis比较吗?

apache kafka

什么是Apache Kafka?

Apache Kafka是一个开源,分布式,可伸缩的发布-订阅消息系统。 负责该软件的组织是Apache Software Foundation。 该代码是用Scala编写的,最初是由LinkedIn公司开发的。 它于2011年开源,成为Apache的顶级项目。

该项目旨在提供一个统一的低延迟平台,该平台能够实时处理数据馈送。 对于需要系统之间集成的不同企业基础架构,它变得越来越有价值。 希望集成的系统可以根据其需求发布或订阅特定的Kafka主题。

Kafka受事务日志的影响, Apache Kafka背后的思想是成为可伸缩的消息队列,其结构类似于事务日志。

这个平台被指定为实时数据流。

Kafka允许组织特定主题下的数据。 数据生产者以“发布者”的身份撰写主题。 消费者或“订户”被配置和编程为读取主题队列。

主题消息将保留在磁盘上并在群集内复制,以防止数据丢失。 Kafka具有以群集为中心的设计,可提供强大的耐用性和容错保证。

Apache Kafka与Amazon Kinesis

Amazon Kinesis软件以Apache Kafka为模型。 众所周知,它令人难以置信的快速,可靠且易于操作。

Amazon Kinesis具有内置的交叉复制功能,而Kafka要求自行配置。 交叉复制是跨逻辑或物理数据中心同步数据的想法。 交叉复制不是强制性的,只有在需要时才应考虑这样做。

工程师出售了Kafka的价值主张,但希望提供类似于Kinesis模型的价值,请留意http://confluent.io。

什么时候使用?

如前所述,在与传统消息代理系统(例如ActiveMQ或RabbitMQ)相似的企业环境中,Kafka通常被选作集成系统。 Kafka客户使用多种语言(包括Java,Scala,Ruby,Python,Go,Rust,Node.js等)协助系统之间的集成。

Kafka的其他用例包括针对一系列用例的网站活动跟踪,包括实时处理或加载到Hadoop或分析数据仓库系统中以进行脱机处理和报告。

但是,Kafka(和Kinesis)最近最有趣的部分是在流处理中的使用。 越来越多的应用程序和企业正在构建架构,其中包括由多个阶段组成的处理管道。 例如,一个多阶段设计可能包括在第1阶段从Kafka主题消耗的原始输入数据。在第1阶段,先消耗数据,然后对它们进行汇总,充实或转换。 然后,在阶段2中,将数据发布到新主题,以供以后使用或在后续阶段中进行后续处理。

结论

请随时关注supergloo.com,以获取有关Kafka和使用流的数据处理管道的更多文章和教程。 并且,如果有任何特定的“主题”,�� 您想看到的,请在下面的评论中提及。

参考资料

翻译自: https://www.javacodegeeks.com/2016/06/apache-kafka-compare-amazon-kinesis.html

apache kafka

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值