「连载」边缘计算(二十七)03-07:边缘部分源码(源码分析篇)

这篇具有很好参考价值的文章主要介绍了「连载」边缘计算(二十七)03-07:边缘部分源码(源码分析篇)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(接上篇)

EdgeCoreeventbus

前面对EdgeCore组件的edged、devicetwinedgehub功能模块进行了分析,本节对EdgeCore组件的另一个功能模块eventbus进行剖析。eventbus作为KubeEdge的edge部分与MQTT进行交互的门户,因此我们有必要将eventbus相关内容彻底分析清楚,为使用过程中的故障排查和未来的功能扩展与性能优化都会有很大的帮助。eventbus的具体业务逻辑主要集中在启动过程中,本节就侧重分析eventbus启动流程,包括eventbus的struct调用剖析、eventbus的具体逻辑剖析。

eventbus的struct调用剖析

eventbus的模块注册函数具体如下所示。

KubeEdge/edge/pkg/eventbus/event_bus.go

// Register register eventbus

func Register() {

mode, err := config.CONFIG.GetValue("mqtt.mode").ToInt()

if err != nil || mode > externalMqttMode || mode < internalMqttMode {

mode = internalMqttMode

}

edgeEventHubModule := eventbus{mqttMode: mode}

core.Register(&edgeEventHubModule)

}

注册函数中做了两件事。

1)配置文件中获取mqtt.mode,并对其进行判断,具体如下所示。

mode, err := config.CONFIG.GetValue("mqtt.mode").ToInt()

if err != nil || mode > externalMqttMode || mode < internalMqttMode {

mode = internalMqttMode

}

mqtt.mode的具体定义如下所示。

KubeEdge/edge/pkg/eventbus/event_bus.go

const (

internalMqttMode = IoTa // 0: launch an internal mqtt broker.

bothMqttMode            // 1: launch an internal and external mqtt broker.

externalMqttMode        // 2: launch an external mqtt broker.

...

)

mqtt.mode定义分internalMqttModebothMqttModeexternalMqttMode三种。其中,externalMqttMode 启动内部mqtt代理;bothMqttMode 同时启动内部和外部mqtt代理;externalMqttMode 启动外部mqtt代理。

2)实例化eventbus并将其注册,具体如下所示。

edgeEventHubModule := eventbus{mqttMode: mode}

core.Register(&edgeEventHubModule)

Eventbus struct定义如下所示。

KubeEdge/edge/pkg/eventbus/event_bus.go

// eventbus struct

type eventbus struct {

context  *context.Context

mqttMode int

}

eventbus包括context、mqttMode两个属性。context负责与EdgeCore其他模块的通信;mqttMode用来区分eventbus连接mqtt的不同方式。

未完待续…… 文章来源地址https://www.toymoban.com/news/detail-837348.html

到了这里,关于「连载」边缘计算(二十七)03-07:边缘部分源码(源码分析篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【正点原子FPGA连载】第二十七章 MDIO接口读写测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 在以太网通信中,设备之间的物理层链路均由PHY芯片(物理层芯片,本文指YT8521)建立。PHY芯片有一个配置接

    2024年02月09日
    浏览(60)
  • 【正点原子FPGA连载】 第二十七章OV5640摄像头LCD显示 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html OV5640是OmniVision(豪威科技)公司生产的一颗CMOS图像传感器,该传感器功耗低、分辨率高以及采集速率快,主

    2024年02月16日
    浏览(54)
  • Spark内容分享(二十七):阿里云基于 Spark 的云原生数据湖分析实践

    目录 Spark 与云原生的结合 1. 传统 Spark 集群的痛点 2. Spark 与云原生结合的优势 Spark on K8s 原理介绍 1. Spark 的集群部署模式 2. Spark on K8s 的部署架构 3. Spark on K8s 部署架构——对比 4. Spark on K8s 社区进展 5. Spark 3.3 新特性介绍 Spark on K8s 在阿里云 EMR 上的实践 1. EMR Spark on ACK 2. 充分

    2024年01月15日
    浏览(93)
  • ZYNQ连载07-PIN设备

    RT-Thread PIN设备 这里参看RT-Thread提供的PIN设备管理接口,简单封装了几个接口函数。

    2024年02月08日
    浏览(37)
  • 【SQL开发实战技巧】系列(二十七):数仓报表场景☞通过对移动范围进行聚集来详解分析函数开窗原理以及如何一个SQL打印九九乘法表

    【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项 【SQL开发实战技巧】系列

    2023年04月09日
    浏览(48)
  • 边缘计算AI智能分析网关V4算力分析及应用场景

    智能分析网关V4是TSINGSEE青犀视频推出的一款高性能、低功耗的软硬一体AI边缘计算硬件设备,硬件采用BM1684芯片,集成高性能8核ARM A53,主频高达2.3GHz。硬件内置近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为等实时检测分析,上报识别结果,并能进行语音告

    2024年01月20日
    浏览(44)
  • 《软件方法》第1章2023版连载(07)UML的历史和现状

    DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 1.3 统一建模语言UML 1.3.1 UML的历史和现状 上一节阐述了A→B→C→D的推导是不可避免的,但具体如何推导,有各种不同的做法,这些做法可以称为“方法”。甚至只要愿意,每个人都可

    2024年02月07日
    浏览(42)
  • LinkedList部分底层源码分析

    JDK版本为1.8.0_271,以插入和删除元素为例,LinkedList部分源码如下: 插入删除结点的过程如图所示: 只有1个元素的LinkedList 包含4个元素的LinkedList add(E e)方法 add(int index,E e)方法 remove(Object obj)方法 remove(int index)方法

    2024年04月13日
    浏览(36)
  • 基于边缘计算的物联网数据处理与分析

    边缘计算面临着数据安全与隐私保护、网络稳定性等挑战,但同时也带来了更强的实时性和本地处理能力,为企业降低了成本和压力,提高了数据处理效率。因此,边缘计算既带来了挑战也带来了机遇,需要我们不断地研究和创新,以应对日益复杂的应用场景和技术需求  

    2024年01月18日
    浏览(40)
  • 边缘计算AI智能分析网关V4客流统计算法的概述

    客流量统计AI算法是一种基于人工智能技术的数据分析方法,通过机器学习、深度学习等算法,实现对客流量的实时监测和统计。该算法主要基于机器学习和计算机视觉技术,其基本流程包括图像采集、图像预处理、目标检测、目标跟踪和客流量统计等步骤,通过在监控视频

    2024年01月18日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包