哪种 AWS 数据流服务(Kinesis 或 MSK)更适合以 Lambda 为中心的中小型工作负载?

问题描述 投票:0回答:1

我所在的公司正在尝试利用 Kinesis 或托管 Kafka (Amazon MSK) 作为消息队列和流服务来扩展部分工作负载。

我们的所有系统都在 AWS 上运行。我们的大部分计算工作负载都是由 Lambda 函数处理,有时这些 Lambda 位于 API Gateway 之后。 Lambda 函数内可能会发生大量消息生成和消费,至少一开始是这样。

最初,我们的用例是将服务用作消息队列,我们计划每天服务 10k 到 20k 条小(100-300 字节)消息。

最终,我们将开始在更多地方使用该服务,通过生成和消费更多消息(这可以使消息数量增加 5-10 倍),并将该服务的使用扩展到将消息流式传输到 Redshift、S3 和可观察性仪表板。

我想对于所有这些用例,这两种服务都绰绰有余。

从我所做的比较研究(这很棘手,因为比较两者的许多资源现在已经过时),Kinesis 似乎更容易设置和管理,对于较小的工作负载,它可能更容易比 MSK 便宜很多。

考虑到 MSK 可能更昂贵并且需要更多的学习、设置、配置和管理,Kinesis 似乎是一个显而易见的选择。

但是,我想确保我没有遗漏任何重要信息。 Kinesis 是否存在我未考虑到的严重限制或缺点?是否存在 MSK 具有而 Kinesis 不具备的重要特性或功能?如果我们对可扩展性或灵活性的需求达到一定程度,我们是否会后悔选择使用 Kinesis?

我真的想对我的公司尽可能负责的技术选择。

我尝试做一些研究,但这很困难,因为比较这两种服务的许多资源现在已经过时了。

amazon-web-services apache-kafka amazon-kinesis aws-msk
1个回答
0
投票

Kinesis 和 MSK 都是生产就绪且功能强大的事件流平台,对于您的用例,从可用性和性能的角度来看,您使用什么并不重要。

我会考虑两件事:

  1. 成本:选择提供最佳成本/价值主张的方案。
  2. 如果未来需要,可移植到不同的超大规模。 Kinesis 是一个仅限 AWS 的平台,移植需要完全重写。 MSK 是幕后的 Kafka,您应该能够轻松移植。
© www.soinside.com 2019 - 2024. All rights reserved.