关于kafka:Kafka-和-Kinesis-之间的对比和选择

89次阅读

共计 1890 个字符,预计需要花费 5 分钟才能阅读完成。

在古代大型数据环境下,音讯的发送和解决就变得十分重要了。

作为音讯发送解决畛域外面的大象,那就是 Kafka 了。

Kafka 和 Kinesis 间接的关系

在比照 Kafka 和 Kinesis 和之前,咱们须要对 Kinesis 有所理解。

什么是 Kafka

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

该我的项目旨在提供一个对立的低提早平台,该平台可能实时处理数据馈送。对于须要零碎之间集成的不同企业基础架构,它变得越来越有价值。心愿集成的零碎能够依据其需要公布或订阅特定的 Kafka 主题。

Kafka 受事务日志的影响,Apache Kafka 背地的思维是成为可伸缩的音讯队列,其构造相似于事务日志。

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

Kafka 容许组织特定主题下的数据。

用一句话来说就是 Kafka 的音讯解决能力就是快,十分的快。

什么是 Kinesis

简略来说 Kinesis 就是 AWS 的云平台的实现。

与自行部署 Kafka 来说,你不须要保护硬件平台,不须要为硬件领取费用可能十分快的进行部署。

Amazon Kinesis 可让您轻松收集、解决和剖析实时流数据,以便您及时取得见解并对新信息疾速做出响应。Amazon Kinesis 提供多种外围性能,能够经济高效地解决任意规模的流数据,同时具备很高的灵活性,让您能够抉择最合乎应用程序需要的工具。

借助 Amazon Kinesis,您能够获取视频、音频、应用程序日志和网站点击流等实时数据,也能够获取用于机器学习、剖析和其余应用程序的 IoT 遥测数据。

如何抉择

对有抉择艰难症的童鞋和公司来说兴许上面的比照可能帮你做出一些决定。

次要区别

Kafka 是开源的分布式消息传递解决方案,而 Kinesis 是 mazon 提供的托管平台。

在 Kafka 中,您负责装置和治理集群,还负责确保高可用性,持久性和故障复原。如果您应用的是 Kinesis,则不用放心托管软件和资源。

您能够通过在本地零碎中装置 Kafka 轻松学习 Kafka,而 Kinesis 并非如此。

Kinesis 中的定价取决于您应用的分片数量。如果您打算长时间保留邮件,则还必须领取额定的费用。

对于 Kafka,费用次要取决于您应用的 Broker 的数量。Kafka 还须要一个 DevOps 团队进行保护,这有时老本很高。

然而,应用 Kafka,只有您不耗尽存储空间,就能够将音讯保留更长时间,而无需领取额定费用。

只管 Kafka 和 Kinesis 都由生产者组成,但 Kafka 生产者将音讯写入主题,而 Kinesis 生产者将数据写入 KDS。

Kinesis 还对音讯的大小和音讯的消耗率施加了某些限度。

Kinesis 中的最大音讯大小为 1 MB,而 Kafka 音讯大小能够更大。

在 Kinesis 中,您每秒能够耗费 5 次,每个分片最多能够耗费 2 MB,从而每秒只能写入 1000 条记录。

Kafka 并未施加任何隐式限度,因而费率由底层硬件决定,甚至你能够做到无限度的疾速数据写入。

在安全性方面,Kafka 提供了许多客户端平安性能,例如数据加密,客户端身份验证和客户端受权,而 Kinesis 通过 AWS KMS 主密钥提供服务器端加密,以加密存储在数据流中的数据。

服务器端加密的话,则很难执行客户端加密。

服务器端加密在客户端加密的根底上提供了第二层安全性。

思考因素

看了下面那么多是不是还是有点困惑?

其实来到数据量谈计划都是耍流氓。

简略点就是 Kinesis 上手很快,如果你没有什么技术力量,在 AWS 的控制台中点一点就能够用了。

Kafka 的部署是有老本和曲线的,首先就是 Kafka 依赖 ZooKeeper 来运行,ZooKeeper 的最低运行环境都须要 3 太服务器,如果须要扩大的话那么就须要 5 太服务器,因为 ZooKeeper 为了放弃高可用性,须要的是奇数台服务器的。

如果你的 ZooKeeper 部署 4 台服务器,那么 ZooKeeper 的运行成果和 3 台是一样的。

这里就导致会有应用和学习老本了。

如果你在可遇见的周期,一天就几万条音讯,手上也没几个技术员,那么轻易用哪个都差不多,可能用 Kinesis 还不便点,上手更快。

如果你以分钟就就万条音讯的话,你还是能够思考 Kafka 吧,因为随着音讯了的减少,Kinesis 并不便宜,同时音讯的保留工夫是有限度的。

Kafka 的扩大是齐全能够通过扩大底层硬件来实现的,同时还有保护老本在外面。

https://www.ossez.com/t/kafka…

正文完
 0