开源

兼容原生 Apache Kafka

Amazon MSK 支持部署原生版本 Apache Kafka,因此专为 Apache Kafka 构建的应用程序和工具开箱即可兼容 Amazon MSK,无需对应用程序代码进行更改。

简化版本可用性

Amazon MSK 通常可在公开发布的七天内提供更新版本的 Apache Kafka。

无缝版本升级

您只需单击几下即可在 Amazon MSK 集群上升级 Apache Kafka 版本,让您可以决定何时利用新 Apache Kafka 版本中提供的功能和错误修复。Amazon MSK 对运行集群上的版本升级部署进行自动化,以保持客户端 I/O 可用性,从而使客户可以遵循最佳实践。

无需管理服务器

完全托管

只需在控制台中单击几下,您就可以创建完全托管的 Apache Kafka 集群,该集群遵循 Apache Kafka 的部署最佳实践,您也可以使用自定义配置创建自己的集群。创建所需配置后,Amazon MSK 会自动预置、配置和管理 Apache Kafka 集群和 Apache ZooKeeper 节点的运行。

已包含 Apache ZooKeeper

Apache ZooKeeper 需要运行 Apache Kafka,协调集群任务并维护与集群交互的资源状态。Amazon MSK 为您管理 Apache ZooKeeper 节点。每个 Amazon MSK 集群都为 Apache Kafka 集群包含适当数量的 Apache ZooKeeper 节点,而无需额外费用。

高度可用

高可用性为默认设置

所有集群都在多个可用区(默认为三个可用区)进行预配置,它们都得到 Amazon MSK 的服务等级协议以及自动系统的支持,这些自动系统可在集群基础设施和 Apache Kafka 软件中检测并对问题做出响应。若有组件发生故障,Amazon MSK 会自动进行替换以避免您的应用程序中断运行。Amazon MSK 管理 Apache ZooKeeper 节点的可用性,因此您无须启动、停止或直接访问节点。Amazon MSK 还会按需自动部署软件补丁,确保您的集群保持最新状态并顺利运行。

数据复制

Amazon MSK 借助多可用区复制来实现高可用性。数据复制功能包含在内,无额外费用。

高度安全

私有连接

您的 Apache Kafka 集群在 Amazon MSK 管理的 Amazon VPC 中运行。基于您指定的配置,您的集群可提供给自己的 Amazon VPC、子网和安全组。您可以完全控制网络配置,同时 VPC 中的 IP 地址通过弹性网络接口 (ENI) 已连接到您的 Amazon MSK 资源。

精细访问控制

IAM 访问控制是一个免费的安全性选项,它可以使用 IAM 角色或用户策略来控制访问权限,从而简化集群身份验证和 Apache Kafka API 授权。借助 IAM 访问控制,您不再需要构建和运行一次性的访问管理系统来控制 Apache Kafka 的客户端身份验证和授权,并且您的集群将默认使用最低权限来保护安全。您还可以对 Apache Kafka 访问控制列表 (ACL) 使用 SASL/SCRAM 或相互 TLS 身份验证来控制客户端访问。

加密

Amazon MSK 无需特殊配置或第三方工具就可以加密静态数据。默认情况下,可以使用 AWS Key Management Service (KMS) Customer Master Key (CMK) 对所有数据进行静态加密,也可以使用您自己的 CMK 加密。Amazon MSK 还可通过 TLS 在代理之间以及您的集群上的客户端与代理之间加密传输中的数据。

最低成本

Amazon MSK 的起始价格每天不到 2.50 USD。客户要为每 GB 摄取及全部数据支付的费用通常介于 0.05 USD 和 0.07 USD 之间,此价格可能是其他托管提供商费用的 1/13。请访问 Amazon MSK 定价页面了解最新价格,并访问 Amazon MSK 最佳实践页面了解如何合理调整 Amazon MSK 集群的大小。

已深度集成

其他提供商所提供的广度和深度均不及 Amazon MSK 中的 AWS 集成。这些集成包括:

可扩展

扩展代理

您可以通过更改 Apache Kafka 代理的大小或系列在数分钟内无需停机即可扩展您的 Amazon MSK 集群。更改代理的大小或系列是一种颇受欢迎的扩展 Amazon MSK 集群的方式,因为它让您能够灵活地调整 MSK 集群的计算容量,来应对工作负载的变化。这是首选的方式,因为它不需要可能影响 Apache Kafka 可用性的分区重新分配。

另外,您还可以使用控制台或命令行界面 (CLI) 扩大您的集群的大小,每个集群最高扩大至数百个代理。如果每个集群需要超过 15 个代理,或者每个账户需要超过 30 个代理,请提交增加限额的请求。

自动分区管理

Amazon MSK 与 Cruise Control 集成,后者适用于 Apache Kafka,是一种以您的名义自动管理分区分配的热门开源工具。

自动扩展存储

您可以使用 AWS 管理控制台或 AWS CLI 无缝扩展每个代理预置的存储量,以匹配存储要求的变化,或者也可以创建自动扩展策略来自动扩展您的存储以满足流式传输要求。

可配置

默认情况下,Amazon MSK 会为 Apache Kafka 部署最佳实践集群配置,并允许客户调优 30 多项不同的集群配置,同时支持所有动态和主题级别配置。有关更多信息,请参阅文档中的自定义 MSK 配置

可见

默认的 CloudWatch 指标

您可以使用 Amazon CloudWatch 对重要的集群、代理、主题、消费者和分区级指标进行可视化与监控。

导出 JMX 和节点指标至 Prometheus 服务器

借助 Prometheus 开放监控功能,您可以使用 DatadogLensesNew RelicSumo logic 或 Prometheus 服务器等解决方案来监控 Amazon MSK,并轻松将您现有的监控控制面板迁移到 Amazon MSK。如需了解更多信息,请见文档中的 Prometheus 的开放监控功能

开始使用 Amazon MSK

计算成本
计算成本

访问 Amazon MSK 定价页面

查看入门指南
查看入门指南

请参阅本分步指南,了解如何在 Amazon MSK 上设置 Apache Kafka 集群。

运行您的 Apache Kafka 集群
运行您的 Apache Kafka 集群

开始在 Amazon MSK 上运行 Apache Kafka 集群。登录 Amazon MSK 控制台