问题描述
我将开始在两个不同的DC中部署几个Kafka集群以生产。我的主要用途是使用MirrorMaker复制。为了在DC之间连续流式传输/复制ElasticSearch和Postgres,以进行(近)实时备份和故障转移。
我无法理解的最简单的问题是:我应该使用Confluent还是apache Kafka?
我可以看到Confluent带来了许多好处,但是我不明白:为什么有人会选择普通的Apache Kafka?我见过this answer,而且似乎很清楚:“选择Confluent,还有更多东西”。
解决方法
我应该使用Confluent还是apache Kafka?
在决定部署香草Apache或商业支持的产品时,您应该考虑O&M(运营和维护)时间表以及您的得失。无论您选择哪种产品,生产后都很难更换。
我也会同意@OneCricketeer的回答。
您需要“更多的东西”吗?
我是某些Apache产品的专业服务顾问。我的建议是使您的堆栈(无论它是什么)尽可能简单。因此,如果您不需要 Confluent的其他工具和功能,请不要使用它们。这就是他们使产品“发粘”的方式(例如:供应商锁定)。
香草Apache Kafka
- 专业版没有供应商锁定或依赖性
- Pro 更快的更新和功能开发
- 缺点没有很好的仪表板
- 骗局更难保护
汇合
- 专业版提供商业支持和专业服务
- 专业版,借助快速简便的安全补丁程序,更加稳定
- Pro 不错的仪表板和管理工具
- 专业版更易于正确保护
- 缺点昂贵
- 缺点:期望供应商锁定并频繁进行追加销售
我的意见
如果您有足够的钱,这将是关键的基础架构,我建议您通过Confluent购买。如果您试图避免为它们付费,那么您就必须聘请一个反正他们都知道的人(昂贵的),并且您必须应对开源项目不断升级的噩梦。
如果这是您想要尝试的事情,可以允许停机,或者认为您将在2年内更换,那么我将仅使用Apache Kafka和一个开源仪表板之一。
,正如链接文章中回答的那样,您可以将所需的任何外部进程添加到Apache Kafka。
注意:您没有选择或,而是始终选择Apache Kafka。作为替代考虑因素,与Cloudera的数据平台类似,在之上添加了。
如果要(通过JDBC)连接Elasticsearch和Postgres,这两个连接器在Confluent Community License下都是开放源代码,因此这可能是不使用Confluent产品的潜在原因之一。
其他原因:您需要“更多的东西”吗?您可以从其他地方获得支持吗?例如,MSK或IBM Streams或Azure EventHub上的AWS支持未使用Confluent Platform(因为它违反了上述许可)
MirrorMaker和MirrorMaker2均受Apache许可,因此它们没有这种使用/重新分配限制。