Amazon MSK 热门2018年〜
以全托管方式提供 Apache Kafka 实现实时流数据处理的服务
它能做什么
Amazon MSK (Managed Streaming for Apache Kafka) 是一项在云上轻松构建和运营 Apache Kafka 的全托管服务。Kafka 集群的预置、配置、补丁和故障处理全由 AWS 管理,开发者可专注于构建流应用。与开源 Apache Kafka 完全兼容,现有 Kafka 应用可无需修改代码迁移。
使用场景
用于实时日志聚合与分析、点击流数据收集与处理、IoT 传感器数据流、微服务间的事件驱动架构、数据库变更数据捕获 (CDC),以及实时欺诈检测系统。
日常类比
可以将其比作高速公路收费站。大量车辆 (数据) 不断涌来,收费站 (Kafka 代理) 整理车辆并分配到合适的车道 (主题)。Amazon MSK 代为完成收费站的建设、维护和扩建,用户只需专注于车流设计。
什么是 Amazon MSK
Amazon MSK 是 Apache Kafka 的托管服务。Apache Kafka 是广泛用于构建实时流数据管道的开源平台,但自行运维需要集群构建、ZooKeeper 管理、代理监控和补丁等大量运维工作。MSK 可将所有运维负担委托给 AWS,提供 99.9% 的可用性 SLA。
MSK Serverless 与 MSK Provisioned
Amazon MSK 有两种部署选项。MSK Provisioned 是传统集群配置,明确指定代理实例类型和存储容量,适合工作负载特征可预测的场景。MSK Serverless 完全自动化容量管理,根据流量自动扩缩。初始设置简单,适合工作负载波动大或难以预测的场景。 如需深入了解 MSK Serverless 与 MSK Provisioned,可参考 Amazon 技术书籍。
安全与集成
Amazon MSK 提供多层安全功能。支持通信加密 (TLS)、存储数据加密 (AWS KMS)、IAM 认证、SASL/SCRAM 认证和 Apache Kafka ACL 精细访问控制。将集群部署在 VPC 内可实现网络级隔离。与 AWS Glue Schema Registry 集成可进行模式管理。
注意事项
- 与 Kinesis Data Streams 相比,想直接利用现有 Kafka 生态系统 (Connect、Streams、ksqlDB) 时 MSK 更合适
- MSK Serverless 有分区数上限,大规模工作负载请考虑 MSK Provisioned