易燃物汇聚 YouTube 有声书与书评
深入理解边缘计算:云、边、端工作原理与源码分析 封面

深入理解边缘计算:云、边、端工作原理与源码分析

崔广章

565人在读
14.6万字总字数
¥53.4定价

内容简介

这是一本从环境搭建、部署配置、系统架构、工作原理、源码分析、二次开发等维度系统讲解如何打造协同的云、边、端系统的著作。全书一共9章,逻辑上分为三大部分:第1部分 边缘计算基础(第1~2章)首先介绍了边缘计算和边缘计算系统的概念、组成、架构,以及边缘计算系统的部署与管理;然后分别以Kubernetes、KubeEdge、EdgeX Foundry为例讲解了云、边、端的部署与配置。既给出了边缘计算系统部署所需的自动化脚本,又分析了应用在云数据中心部署和以云、边、端协同的方式部署的利弊。第二部分 工作原理(第3~6章)首先从整体上对边缘计算系统的逻辑架构进行了介绍,然后从部署、配置、架构等角度对分别云、边、端的核心组件的工作原理进行了深入解析。第三部分 源码分析(第7~9章)云、边、端的开源框架众多,云部分选择Kubernetes、边部分选择KubeEdge、端部分选择EdgeX Foundry,首先详细介绍了这3种开发框架的开发环境搭建和源码的整体架构,然后对他们的核心组件的源码进行了深入分析,同时也对这3个框架的二次开发进行了讲解。

读者书评

★★★★★

2024.No23: 24年第6本技术书。因参加23年11月份软考高级系统架构师考试,有个论文题是关于边缘协同计算,于是翻阅此书。 因为不是从事物联网等相关行业,只能停留在快速翻阅的层次。值得肯定的是,本书对云Kubernetes、边KubeEdge、端EdgeX Foundry三个部分都有比较详细的介绍、架构图分析、及go语言源码解读。 如果有关于应用层面的讲解会更好。技术类书籍应该有个Hello World。

★★★★★

这本书最大的特点是直接给出了实现云边端协同计算的一个实例,云使用K8S,边使用KubeEdge,端使用EdgeX Foundry,而不是仅停留在边缘计算的概念和应用场景分析上。并且将“云边端协同”这个日常泛化的词细化为云边协同,边端协同,云边端协同的不同模式,然后对K8S,KubeEdge,EdgeX Foundry分别进行了一些源码分析。

★☆☆☆☆

可以当成一本了解边缘计算的书籍,但是原理篇真谈不上深入,源码篇就更不尽人意了。堆一堆源码,简单介绍下,没有一个全局的识图,读起来体验不好。

★★★★★

这是一本从环境搭建、部署配置、系统架构、工作原理、源码分析、二次开发等维度系统讲解如何打造协同的云、边、端系统的著作。

★★★★★

生啃了十来天终于看完了! 总体而言,重于框架,轻于细节。前面的架构部分特别清晰,但到代码而言就显得稍粗了点。不过对于我刚刚入门边缘计算的人来说,也是相当不错了。 K8S组件: Kube-apiserver 外部接口 Kube-controller-manager 监听状态,维护状态 kube-scheduler 资源(pod)调度 Kubelet 创建启停pod Kube-proxy 服务通信,负载均衡 Kubeedge: 1.总体实现方法 Cobra :go语言用于创建命令行程序的库 Beehive:go-channel消息传递实现并发单元通信的架构 组件使用cobra,模块使用beehive 1)各个组件基于cobra实现为命令行调用,向cobra注册name,run函数等。 2)组件将各个模块register到beehive中,放到一个map[string]Module的全局变量中。 功能模块需要实现Module接口。 3)组件获取Module的map,遍历map依次启动模块,遍历map依次关闭模块。 功能模块启动时,传入context作为启动参数,模块依靠context可以通信 3)Module配置文件读取使用了beehive的config包中的CONFIG进行读取。 config.CONFIG是一全局变量,在init中初始化,加载文件。 init在包加载时被自动调用——Go中init函数会自动调用 4)启动时传入的beehiveContext.Context保存到模块的context字段中。 beehiveContext.Context是一个基于go-channel的消息框架beehive。 基于context创建消息队列,并传入空的上下文ctx,从而利用ctx管理消息队列 2.edgecore模块 1.Edged启动dockershim的grpc服务器,调用grpc,将具体操作传递给容器运行时。 2.DeviceTwin结构体由Context和DTcontroller组成,DTcontroller由DTcontext和DTModule组成,DTcontext实现模块通信缓存,DTModule包含DTworker接口。 DeviceTwin启动函数初始化并启动DTcontroller,DTcontroller启动时将数据库加载到内存,启动DeviceTwin中的所有module接口。 3.Edgehub结构体由Context和Controller组成,Controller为Edgehub主要功能载体。 EdgeHub的初始化只是对Controller的初始化,Controller初始化时传入edgeHubConfig 指针,直到启动时,edgeHubConfig才会真正初始化。EdgeHub启动函数主要启动Controller。 Controller启动函数InitEdgehubConfig(),InitEdgehubConfig中执行getControllerConfig(),在getControllerConfig()中真正初始化edgeHubConfig。这里是对配置的初始化。 Controller启动函数还初始化了controller对象,获取并初始化cloudhub的客户端,向其他模块广播连接成功。启动接收cloud信息转发到edge模块、发送edge信息到cloud和向cloud发送心跳的协程。 4.Eventbus注册时读取配置获取mqtt的mode参数,生成eventbus实例并注册;启动时先接受存储模块通信管道,然后根据mode参数启动mqtt代理,最后将cloud指令下发到evenbus上的设备。 5.MataManager 是edged和edgehub的桥梁,将必要数据缓存到数据库中。 MataManager注册时初始化到sqlite中;启动时初始化配置,协程同步心跳,循环处理接受信息。 6.Edgemesh是edgecore中节点级别的通信模块,节点内、节点间流量代理,节点内dns解析。启动时,初始化代理,启动服务,循环处理MataManager发送来的消息。

★★★☆☆

对于边缘计算架构讲解来说是一个比较不错的介绍,只是最后的源码部分有些不尽如人意

★★★☆☆

太过于泛泛而谈了,基本就是各个技术的简介水平

★★★☆☆

组成边缘计算系统的云、边、端三部分的相关概念如下。 云:涉及的概念包括Container、Pod、ReplicaSet、Service、Deployment、DaemonSet、Job、Volume、ConfigMap、NameSpace、Ingress等。 边:目前边缘系统的实现方式是通过对云原有的组件进行裁剪并下沉到边缘,所以边涉及的概念是云的子集,而且与云保持一致。 端:部署在边上的一套微服务,目前没有引入新的概念。

★☆☆☆☆

kubeedge已经发展了多个版本了,本书使用的kubeedge版本较老还在v1.8,其中第1章基本概念和4、5、6原理基本分析还可以参考,其余部分大多数内容参考价值不大。

书籍信息

作者崔广章
出版社机械工业出版社
出版时间2021-06-01
ISBN9787111684220
分类科学技术-工业技术
格式EPUB
完结状态连载中
章节数66