AWS MSK 与 Confluent 用于托管 Kafka?

问题描述

就最大价值投资而言,AWS MSK 在托管端到端 Kafka 事件源方面与 Confluent 相比如何?

用于比较的主要标准是:

  1. 监控
  2. 易于部署和配置
  3. 安全

解决方法

我使用过开源、本地 Cloudera 和 MSK。将他们放在一起比较时,他们都有自己的怪癖。

  1. 如果您仅基于配置安全 Kafka 集群的速度。我认为 MSK 会赢得胜利。拥有 Kafka、AWS Certificate Manager 和 Terraform 的人可以非常快速地完成所有工作。尽管 Terraform TLS 和 AWS CLI 存在一些问题,但有一些解决方法。

  2. 如果您打算使用 Kafka Connect,那么 confluent 很有意义。

  3. 如果您有 Kafka 开发人员,他们有编写 Kafka Connect sinks 和 source 的经验。那么,您可能不需要 confluent 的基于订阅的模型。虽然你可能不会节省很多钱。要么花在开发上,要么花在订阅费用上。

  4. 如果您喜欢无服务器 - MSK 非常好。但是,没有对 Kafka 集群的 SSH 访问。您无法调整 JVM。

  5. 监控是 MSK 开箱即用的,通过 JMX 指标和普罗米修斯的开放监控。您也有 CloudWatch。但是开放式监控几乎可以提供您需要的所有指标。在开源中,您可以轻松部署监控。相反,MSK 也在做同样的事情。

  6. MSK 使用 TLS 或 IAM 提供安全性。尽管使用 Terraform 为 MSK 启用基于 IAM 的安全性存在一些问题。 2 路 TLS 客户端身份验证非常容易设置。

  7. MSK 还提供自动缩放功能,但同样,如果您打算使用 Terraform,可能会出现一些互操作性问题。

我相信这里的人可以添加更多关于融合的内容。