在边缘技术领域,那些从事制造业、自动化行业、航空、物流、以及零售等行业应用的开发人员经常会思考的一个问题是:到底应该在边缘处,还是应该在“真实”的数据中心、或是在公共云基础架构中部署Apache Kafka?
在本文中,我们将向边缘计算领域的开发者介绍Kafka在物联网(IoT)边缘处的不同用例和架构用法。文末,我们还会讨论Kafka作为事件流平台,是如何在边缘处对其他IoT框架及产品进行补充,进而实现大规模的实时数据集成与边缘处理。
常态化的多个Kafka群集
如今,Apache Kafka的多集群和跨数据中心的部署方式,已成为了业界的某种规范。虽然“边缘处Kafka(Kafka at the edge)”可以被部署为一个独立的项目;但是在大多数情况下,它处于整个Kafka架构中的一部分。许多企业会根据如下原因,来创建多个Kafka集群:
维度电气的边缘处Kafka的用例
福建省综合能源接入背景
根据安全防护方案要求,维度主站CPS系统需要通过安全接入网关实现安全接入互联网大区,根据与联研院安全接入网关项目组沟通,
安全接入网关可以提供基于X86架构的安全接入组件,将该组件部署在维度主站CPS系统主机上,可以实现安全接入。
总体架构如图
维度接入方案
1.维度主站CPS系统设备档案上送至智慧能源服务平台(CPS系统整理,省级平台导入)
2.智慧能源服务平台需要维护维度主站CPS系统设备档案以开展相关业务,维度主站CPS系统将档案按照省级平台的要求生成Excel表格,由平台运维人员进行页面配置或者导入操作。
3.维度主站CPS系统主机安装安全接入组件(省级平台提供,CPS安装测试)
4.维度主站CPS系统上报采集数据(CPS系统改造上报)
5.省级平台从消息总线订阅采集数据,并对数据进行处理、存储等操作,供业务系统使用。
6.维度主站CPS系统接收控制策略信息
程序开发与部署
1.程序以Java为主要开发语言,以JAR包发布。
2.通过更改配置文件即可达到灵活支持不同业务功能。
3.可以部署到SystemD或容器中,增加了弹性部署能力。
4.实现了设备层与数据层之间的解耦。
5.能够有效地处理背压(back-pressure)。
6.即使只有一个客户端,也能实现实时地处理大容量数据。
7.在磁盘上进行存储,能够重新处理数据。
8.修改的日志级别:为了减少线上日志大小,并能切换开发环境和线上环境。
服务运维
1.SystemD或容器结合程序信号机制,监视程序运行状态,保证了程序以7*24正常地运行着
2.运维监控数据:分日期和小时记录,方便定期归档
3.运维监控数据:记录错误时的调用栈:当出现fatal和error级别的错误时,有时只靠错误信息时很难准确定位到错误代码的,所以需要记录函数的调用栈,方便排查错误
4.运维监控界面:提供前端网页查询实时系统运行状态,方便了解掌握系统运行情况