EdgeX Foundry理论篇

简介:

总体架构

EdgeX总架构图.png

核心服务层

核心数据微服务

搜集持久化设备和传感器等边缘设备数据,支持导出到云。目前,数据本地存储交互通过REST APIs,未来会支持更多协议:MQTT, AMQP等。数据导出到Export Service layer,通过ZeroMQ、MQTT。persist.data=false,数据不存核心数据,直接通过消息队列到达Export Service layer。本服务是唯一能获得设备数据的服务。
查询数据流程图
core-data-查询数据.png
添加属性流程图
core-data添加属性.png

命令微服务

负责把命令从北端传到南端,不允许非法命令与设备交互。命令主要来自一下:其他微服务命令(本地边缘数据分析、规则引擎微服务)、其他应用命令(系统管理agent关闭一个设备)和外部系统命令(修改一系列设备设置文件)。命令微服务提供统一规范方式与设备通信,GET命令获取设备数据;PUT命令下发action或下发配置数据。命令微服务通过设备服务同设备交互,不直接交互设备。
查询命令流程图
Command-list commands.png
发送命令流程图
Command - send command.png

元数据微服务

元数据微服务主要包括管理设备配置文件,包括设备信息、设备数据结构类型和设备命令。每个被EdgeX 管理的设备,都在元数据有关联ID,设备关联设备配置文件和设备服务。元数据微服务管理设备服务信息,其他微服务通过设备服务同设备交互。设备服务,对应一特定设备协议,比如Modbus设备服务,负责管理所有Modbus设备。本服务是唯一能获得设备、设备配置和设备服务的微服务。数据本地存储交互通过REST API,未来会支持更多协议:MQTT, AMQP等
架构图
Meta Data  架构图.png
启动设备流程图
Meta Data 启动设备.png
添加设备流程图
Meta Data-添加设备.png

配置注册微服务

管理EdgeX Foundry微服务配置、执行参数和状态。提供微服务启动所需配置,如端口号等。各微服务启动,注册自身信息到本服务。对于注册服务,采用ping各微服务方式来探活, 频率每10 seconds一次。配置发生变更,本服务会及时通知对应微服务,配置信息会覆盖微服务内置配置信息,可支持动态切换环境,满足微服务架构动态扩展需求。在配置注册微服务不可用时,微服务可脱离本服务,使用自身内嵌配置启动。交互方式:RESTful APIs。 
配置注册服务交互图
注册微服务调用图.png

支撑服务层

通知告警微服务

告警通知微服务负责在设备发生故障,生成告警,发生告警到目的应端目前支持e-mail 和 REST 回调。通知分两种,NORMAL和CRITICAL,CRITICAL立刻发送通知到分发协调组,NORMAL等待消息调度器统一处理。可扩展,按需起调度器处理通知作业。
架构图
Alerts and Notifications 架构图.png
左边:API提供给其他微服务和应用调用,能通过 REST, AMQP, MQTT,或者其他标准应用协议,目前支持REST。
右边:消息订阅者通过订阅RESTful,订阅特定类型通知。消息接收者,在事件发生时,可通过SMS、, e-mail, REST callback, AMQP, MQTT等。
发现告警流程图
Alter Notify 危险通知发送.png
响应告警流程图
Alter and Notify Critical Resend Sequence.png

日志微服务

通过RESTful APIs提交日志请求、查询历史日志、移除历史日志,用LOGBack做日志框架,可以通过文件或MongoDB持久化日志。
架构图
Log-架构图.png
日志请求流程图
Logger-日志请求.png

调度微服务

EdgeX 的调度服务及其轻量,只负责定时清理设备数据。默认每30分钟执行一次,调用Core Data API执行清理任务

规则引擎微服务

规则引擎提供了一种边缘事件触发机制,监控边缘设备数据。符合条件,触发行为,通过命令服务下发指令。内核引擎采用Drools,由JBoss社区提供的开源规则引擎。规则引擎启动会自动注册到输出客户端注册服务,检测设备数据对于重要敏感案例,规则引擎可以直接对接核心数据微服务,需要设置配置文件,export.client=true。通过RESTful API动态添加规则。
架构图
Rule engine 流程图.png
添加规则流程图
规则引擎流程图.png

输出服务

客户端注册微服务

输出客户端注册微服务让客户端注册为数据接收者,按需过滤流转数据。Clients on-gateway:包括本地分析服务,事件处理器,规则引擎等。Clients off-gateway:经典企业云系统或网关聚合系统,提供历史数据和更深层次数据分析能力。通过REST API创建新请求,更新存在请求,删除请求。
架构图
输出服务架构图.png

分发微服务

分发微服务,基于EAI技术,管道过滤体系。通过消息队列,接收数据,过滤、传输和格式化数据,通过REST, MQTT, 0MQ分发数据到特定注册客户端。
分发流程图
Distribute - 流程图.png

系统管理服务

系统管理模块提供微服务安装、升级、启动、停止和监控功能

安全服务

支持AAA访问控制,AES256数据加密,唯一证书认证,HTTPS协议流程数据。

设备服务层

虚拟设备微服务

模拟不同协议设备,生成Events and Readings到核心数据微服务,通过H2 database存储虚拟设备资源。用户通过命令微服务下发命令到
。虚拟设备服务依赖数据微服务和元数据微服务,启动会ping核心数据和元数据微服务,超时时间600秒,未ping通,启动失败。虚拟设备服务启动初始化过程中,会在元数据微服务创建设备,设备配置,设备服务。
架构图
Virtual device 架构图.png

原理篇总体结合官网和自己理解
英文版请登入官网
https://wiki.edgexfoundry.org/display/FA/EdgeX+Foundry+Microservices+Architecture

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
人工智能 运维 Kubernetes
OpenKruise 成为 CNCF 孵化项目:为大规模采用 Kubernetes 打开大门
OpenKruise 成为 CNCF 孵化项目:为大规模采用 Kubernetes 打开大门
OpenKruise 成为 CNCF 孵化项目:为大规模采用 Kubernetes 打开大门
|
边缘计算 运维 Kubernetes
讲座回顾丨基于 OpenYurt 和 EdgeX 的云边端协同新可能
为帮助参赛选手更好地了解并运用相关技术,本次大赛将在 7 月至 9 月持续开展 3 轮技术培训,涵盖初、中、高不同层级,帮助开发者系统学习智能边缘系统知识。我们邀请到来自英特尔、VMware、阿里云等多家机构的技术专家进行分享。
讲座回顾丨基于 OpenYurt 和 EdgeX 的云边端协同新可能
|
Kubernetes 负载均衡 安全
ServiceMesh最火项目Istio架构设计哲学
ServiceMesh最火项目Istio架构设计哲学
110 0
ServiceMesh最火项目Istio架构设计哲学
|
边缘计算 运维 Kubernetes
OpenYurt入门-在树莓派上玩转OpenYurt
    随着边缘计算的快速发展,越来越多的数据需要到网络的边缘侧进行存储、处理和分析,边缘的设备和应用呈爆发式增长。如何高效的管理边缘侧的资源和应用是业界面临的一个主要问题。当前,采用云原生的方法,将云计算的能力下沉到边缘并在云端做统一调度、管控的云边端一体化架构得到了业界的广泛认可。     今年5月,阿里巴巴开源
315 0
OpenYurt入门-在树莓派上玩转OpenYurt
|
传感器 边缘计算 运维
基于 OpenYurt & EdgeX Foundry 的云边端一体化解决方案
近日,OpenYurt 与 EdgeX Foundry 社区合作,完成了集成对接:从 v0.5.0 版本开始,OpenYurt 将正式支持部署和管理 EdgeX Foundry,并以云原生的方式管理端设备,双方将共同帮助开发者轻松、高效地解决物联网边缘计算场景下端设备管理和运维的挑战。
基于 OpenYurt & EdgeX Foundry 的云边端一体化解决方案
|
边缘计算 运维 Kubernetes
OpenYurt 入门 - 在树莓派上玩转 OpenYurt
随着边缘计算的快速发展,越来越多的数据需要到网络的边缘侧进行存储、处理和分析,边缘的设备和应用呈爆发式增长。如何高效的管理边缘侧的资源和应用是业界面临的一个主要问题。当前,采用云原生的方法,将云计算的能力下沉到边缘并在云端做统一调度、管控的云边端一体化架构得到了业界的广泛认可。
OpenYurt 入门 - 在树莓派上玩转 OpenYurt
|
Ubuntu 物联网 Docker
|
NoSQL 物联网 Redis
Cloud Foundry平台中国唯一云供应商,阿里云持续链接Cloud Foundry/Kubernetes生态
日前,在Cloud Foundry Summit 2018大会上,基金会执行董事Abby Kearns宣布,阿里云成为Cloud Foundry平台中国区唯一公共云基础设施提供商:“中国企业将在Cloud Foundry和阿里云共同作用下得到更加优质的体验”。
3786 0
|
运维 监控 算法
Cloud Foundry与阿里云结合技术的原理与实现
在2017年北京云栖大会的“开发者服务专场”上,阿里云高级技术专家高磊带来了《Cloud Foundry on Cloud——开源PaaS集成技术实现》的精彩分享。分享中,他重点介绍了Cloud Foundry技术与阿里云结合系统后的应用原理与安装程序。
5537 0