使用 AKS 的数据流式传输
解决方案构想
本文介绍了一种解决方案构想。 云架构师可以通过本指南来帮助可视化此体系结构的典型实现的主要组件。 以本文为起点,设计一个符合工作负荷特定要求的架构合理的解决方案。
本文介绍使用 Azure Kubernetes 服务 (AKS) 快速处理和分析来自设备的大量流数据的解决方案。
Apache®、 Apache Kafka 和 Apache Spark 是美国和/或其他国家/地区 Apache Software Foundation 的注册商标或商标。 使用这些标记并不暗示获得 Apache Software Foundation 的认可。 Splunk 是 Cisco 的注册商标。
体系结构
下载此体系结构的 Visio 文件。
数据流
- 传感器生成数据并将其流式传输到 Azure API 管理。
- AKS 群集运行部署为服务网格后面的容器的微服务。 容器是使用 DevOps 过程生成的。 容器映像存储在Azure 容器注册表中。
- AKS 中的引入服务将数据存储在 Azure Cosmos DB 中。
- 异步,AKS 中的分析服务接收数据并将其流式传输到 Azure HDInsight 上的 Apache Kafka。
- 数据科学家使用 Azure HDInsights 和 Splunk 平台上的机器学习模型来分析数据。
- AKS 中的处理服务处理数据并将结果存储在 Azure Database for PostgreSQL 中。 该服务还会将数据缓存在 Azure Cache for Redis 中。
- 在 Azure 应用程序服务中运行的 Web 应用创建结果的可视化效果。
组件
AKS 是托管的 Kubernetes 容器业务流程服务。 在此体系结构中,它托管容器化微服务,用于引入、处理和路由从传感器到各种存储和分析层的流数据。
Apache Kafka 是一个分布式事件流式处理平台,专为高吞吐量、低延迟的数据馈送而设计。 在此体系结构中,它从 AKS 微服务接收实时数据,并将其流式传输到 Azure HDInsight 进行大规模分析。
API 管理 是用于发布、保护和分析 API 的网关。 在此体系结构中,它接收来自传感器的传入数据,并将其路由到 AKS 群集进行处理。
应用服务 是用于生成和托管 Web 应用程序的完全托管平台。 在此体系结构中,它运行一个 Web 应用,用于可视化 PostgreSQL 数据库中处理的结果。
Azure Redis 缓存 是支持快速数据访问的内存中数据存储。 在此体系结构中,它临时存储来自 AKS 微服务的已处理数据,以加速访问并减少延迟。
Azure Cosmos DB 是一种全球分布式 NoSQL 数据库服务。 在此体系结构中,它存储来自 AKS 微服务的引入数据。
Azure Database for PostgreSQL 是基于 PostgreSQL 的托管关系数据库服务。 在此体系结构中,它会存储 AKS 微服务的已处理结果,以便进行下游报告和可视化。
Azure HDInsight 是一种基于云的服务,用于使用开源框架进行大数据分析。 在此体系结构中,它运行 Apache Spark 作业来分析 Kafka 中的流数据并支持机器学习工作负载。
Azure Pipelines 是 Azure DevOps 中的持续集成和持续交付(CI/CD)服务。 在此体系结构中,它将生成容器化微服务并将其部署到 AKS,以实现自动化和可重复的交付工作流。
容器注册表 是托管的 Docker 容器注册表服务。 在此体系结构中,它存储包含微服务的容器映像。
Splunk 是用于计算机生成的数据的数据分析和可视化平台。 在此体系结构中,它将分析 Azure HDInsight 中的实时数据,并为商业智能创建可视仪表板。
方案详细信息
该解决方案非常适合涉及数百万个数据点的方案,其中数据源包括物联网 (IoT) 设备、传感器和车辆。 在这种情况下,处理大量数据是一项挑战。 快速分析数据是另一项艰巨的任务,因为组织寻求深入了解复杂的方案。
AKS 中的容器化微服务构成了解决方案的关键部分。 这些独立服务引入并处理实时数据流。 还可以根据需要进行缩放。 容器的可移植性使得服务可在不同的环境中运行并处理来自多个源的数据。 为了开发和部署微服务,使用了 DevOps 和持续集成/持续交付 (CI/CD)。 这些方法缩短了开发周期。
为了存储引入的数据,该解决方案使用 Azure Cosmos DB。 该数据库可弹性缩放吞吐量和存储,因此非常适合处理大量数据。
该解决方案还使用 Apache Kafka。 这种低延迟流式处理平台以极高的速度处理实时数据馈送。
另一个关键解决方案组件是 Azure HDInsight,它是一种托管云服务,可用于使用最常用的开放源代码框架高效处理大量数据。 Azure HDInsight 简化了在 Azure 中使用 Apache Spark 时以大批量和速度运行大数据框架。 Splunk 有助于数据分析过程。 Splunk 从实时数据创建可视化效果,并提供商业智能。
可能的用例
该解决方案有利于以下领域:
- 车辆安全,尤其是汽车行业
- 零售和其他行业的客户服务
- 医疗保健云解决方案
- 金融行业的金融技术解决方案
后续步骤
产品文档:
- 关于 Azure Cache for Redis
- 什么是 Azure API 管理?
- 应用程序服务概述
- Azure Kubernetes 服务
- Azure 容器注册表简介
- 欢迎使用 Azure Cosmos DB
- 什么是 Azure Database for PostgreSQL?
- 什么是 Azure HDInsight?
- 什么是 Azure Pipelines?
Microsoft 培训模块:
- 使用 Azure 容器注册表生成并存储容器映像
- 配置 Azure 应用程序服务计划
- 使用 Azure Cosmos DB
- 创建并连接到 Azure Database for PostgreSQL
- 针对 Azure Cache for Redis 进行开发
- 探索 API 管理
- Azure HDInsight 简介