首页>参考读物>计算机科学与技术>软件与程序设计

深入理解边缘计算:云、边、端工作原理与源码分析
作者 : 崔广章
出版日期 : 2021-06-11
ISBN : 978-7-111-68422-0
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 247
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

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

图书特色

之江实验室高级研究专员撰写
从环境搭建、部署配置、系统架构、工作原理、源码分析、二次开发等维度
系统讲解如何打造协同的云、边、端系统

图书前言

为何写作本书
随着5G、AR/VR、高清视频、自动驾驶等新技术的兴起,电信网络正面临实时计算能力、超低时延、超大带宽等带来的新的挑战。而只有促进边缘计算产业发展,构建健康的生态环境,才能使终端用户获得新技术带来的极致体验,以及更加丰富、安全、可靠的应用。因此,近年来移动运营商、网络设备供应商、应用开发商、内容提供商等纷纷加入移动边缘计算领域,促使这一技术快速发展。
目前,很多研究机构制定了针对边缘计算的专项计划,比如斯坦福大学的PlatformLab、卡内基梅隆大学的Open Edge Computing基金会等。互联网企业也针对边缘计算推出了相关产品,比如亚马逊的AWS GreenGrass Core、微软的Azure Functions on IoT Edge、阿里巴巴的Link Edge、百度的IoT Intelligent Edge。除此之外,全球范围的各大通信运营商也都陆续发布了边缘计算白皮书。
边缘计算得到了很多行业和组织的重视,但是目前市场上针对边缘计算系统性分析的图书还很少。于是,笔者萌生了写一本书的想法,想从边缘计算系统的部署切入,系统分析边缘计算系统的云、边、端的原理架构和源码。
读者对象
云计算领域从业者
边缘计算领域从业者
物联网领域从业者
应用运维、开发人员
数据中心运维人员
在校计算机专业学生
物联网领域的科研人员
本书特色
边缘计算的意义在于云、边、端的协同,而不应该将边缘计算看作独立于云计算的计算平台,甚至是云计算的对立面。目前,针对云、边、端都有不止一种开源计算框架,但每种计算框架又各有其侧重点,在这种现状下为云、边、端各选一种比较合适的计算框架进行集成,打造一套云、边、端协同的边缘计算系统,并对该系统的部署方法、内部原理和相关源码进行解析是有现实意义的。
本书的云组成部分选择Kubernetes,边组成部分选择KubeEdge,端组成部分选择EdgeX Foundry,对云、边、端各部分都进行了从架构到源码的系统分析,内容系统性强,受众群体广,从在校计算机专业学生到云计算、边缘计算和物联网领域专家,都可以参考本书。
如何阅读本书
本书围绕云、边、端展开介绍,整体分为3篇。
基础篇(第1~2章)
首先介绍边缘计算概念、边缘计算系统的具体组成,对边缘计算系统中的相关概念进行解析;然后给出边缘计算系统所需的自动化部署脚本,读者可以根据脚本轻松地将边缘计算系统整体框架部署起来,并在其上进行管理和部署应用;最后从管理终端设备应用的部署方式入手,对比分析该应用在云数据中心部署和以云、边、端协同的方式部署的利弊,从而引出使用边缘计算的必要性。
原理篇(第3~6章)
为了使读者能够对边缘计算系统有一个全面、深入的了解,本篇将组成边缘计算系统的云、边、端分开介绍,逐步部署,并对每部分的配置项进行详细说明:云包括以系统进程方式部署和以容器化方式部署两种;边由与云控制节点交互的部分和在边缘管理负载的部分组成,与云控制节点交互的部分包括以系统进程方式部署和以容器化方式部署两种,在边缘管理负载的部分只有以系统进程方式部署一种;端包括以系统进程方式部署和以容器化方式部署两种。
源码分析篇(第7~9章)
通过对边缘计算系统部署和配置的详细说明,读者对边缘计算最佳实践的云、边、端部分有了一个相对深入的了解,但还停留在各部分的具体组成组件和相关配置说明层面。本篇会对组成边缘计算系统的云、边、端部分进行源码分析,并对每部分组件之间的逻辑关系进行详细说明。
勘误和支持
由于笔者水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,笔者特意创建了一个在线支持与应急方案的微信群——EdgeComputing,你可以将书中的错误发布在该微信群。同时,如果你遇到任何问题,也可以发送邮件到cuiguangzhang@gmail.com,我将尽可能及时提供满意的解答。如果你有更多宝贵的意见,也欢迎发送邮件至该邮箱,期待你们的真挚反馈。
致谢
首先要感谢开源社区,让我有机会接触、学习和分析Kubernetes、KubeEdge和EdgeX Foundry这些优秀的软件。
感谢之江实验室,为我提供了一个良好的工作环境,还有齐全的实验设备。
感谢浙江省重点研发计划项目“基于数字孪生的智慧高速公路交通流全时空管控关键技术及应用示范”,使得书中相关技术得到验证。
感谢之江实验室的研究专家华炜老师,在本书的写作过程中他从整体到具体细节都给予了笔者耐心的指导。
感谢《深度实践KVM》作者肖力老师和公众号“云技术”的北极熊老师的引荐,在他们的努力下才促成了本书的合作与出版。
感谢机械工业出版社华章分社的编辑杨福川老师和董惠芝老师,在这一年多的时间中他们始终支持我的写作,他们的鼓励和帮助引导我顺利完成了全部书稿。
最后感谢家人的理解与支持,让我可以在工作之余全身心地投入本书的写作,并在迷惑时给予我信心和力量!

上架指导

计算机/云计算

封底文字

边缘计算是指在用户或数据源的物理位置或其附近进行的计算。通过将计算服务靠近这些位置,用户能够得到更快速、可靠的服务,公司能够享受混合云计算带来的灵活性。通过边缘计算,公司能够在多位置使用和分布公共资源池。边缘计算的意义在于云、边、端协同,而不应该被看成与云计算相独立的计算平台,甚至是云计算的对立面。
通过阅读本书,你将:
系统地理解云、边、端协同的相关原理
深入理解云、边、端主流开源实现
能够搭建Go开发环境
了解开源项目的源码分析流程
能够对云、边、端主流开源框架进行定制开发

作者简介

崔广章:作者简介
崔广章
之江实验室助理研究员,资深云计算和边缘计算技术工程师。
从2014年接触云计算以来,参与过多个云计算生产项目,其中代表性的项目有基于OpenStack进行定制开发的运营商私有云、政务云,基于开源容器云方案定制开发的面向运营商的数据中心操作系统(DCOS),2018年开始从事边缘计算相关研究与开发。

图书目录

前言
基础篇
第1章 边缘计算入门3
1.1 边缘计算系统3
1.1.1 边缘计算系统的组成3
1.1.2 概念解析6
1.2 边缘计算的意义11
1.3 边缘计算系统的部署与管理11
1.3.1 系统部署11
1.3.2 系统管理23
1.4 不同应用部署方式的比较25
1.5 本章小结27
第2章 云、边、端的部署与配置29
2.1 边缘计算整体架构29
2.2 部署云部分—Kubernetes31
2.2.1 Kubernetes相关的容器运行时部署31
2.2.2 Kubernetes的学习环境部署34
2.2.3 Kubernetes的生产环境部署39
2.3 部署边缘部分—KubeEdge45
2.3.1 以系统进程的方式部署KubeEdge45
2.3.2 以容器化的方式部署KubeEdge51
2.4 部署端部分—EdgeX Foundry52
2.4.1 以系统进程的方式部署EdgeX Foundry53
2.4.2 以容器化的方式部署EdgeX Foundry57
2.5 本章小结60
原理篇
第3章 边缘计算系统逻辑架构63
3.1 边缘计算系统逻辑架构简介63
3.2 云、边协同64
3.3 边、端协同65
3.4 云、边、端协同68
3.5 本章小结68
第4章 云部分原理解析71
4.1 整体架构71
4.2 逻辑架构72
4.3 控制流程74
4.3.1 集群基础设施层面的资源的控制流程74
4.3.2 集群中应用负载层面的资源的控制流程77
4.4 数据流81
4.4.1 集群内应用负载间的数据访问流81
4.4.2 集群外应用到集群内应用负载的数据访问流86
4.5 资源调度88
4.5.1 资源调度流程88
4.5.2 资源调度算法和调度策略89
4.6 资源编排90
4.7 本章小结91
第5章 边缘部分原理解析93
5.1 KubeEdge的整体架构93
5.2 与云交互的组件94
5.3 管理边缘负载的组件96
5.4 与终端设备交互的组件97
5.5 云、边协同98
5.6 设备管理模型100
5.7 边缘存储和网络资源102
5.8 边缘节点管理103
5.8.1 以节点的形式管理边缘计算资源103
5.8.2 以独立集群的形式管理边缘计算资源104
5.8.3 以多集群的形式管理边缘计算资源105
5.9 本章小结106
第6章 端部分原理解析107
6.1 整体架构107
6.2 设备服务层108
6.3 核心服务层110
6.4 支持服务层115
6.5 导出服务层119
6.6 安全组件122
6.7 系统管理组件122
6.8 本章小结123
源码分析篇
第7章 云部分源码分析127
7.1 搭建开发环境127
7.1.1 安装Go和GoLand127
7.1.2 安装Git并下载Kubernetes源码130
7.1.3 Go Modules简介130
7.1.4 下载Kubernetes的源码依赖131
7.2 Kubernetes源码整体结构分析131
7.3 组件源码分析133
7.3.1 共用命令行工具库Cobra133
7.3.2 Kube-apiserver136
7.3.3 Kube-controller-manager140
7.3.4 Kube-scheduler145
7.3.5 Kubelet148
7.3.6 Kube-proxy150
7.4 本章小结153
第8章 边缘部分源码分析155
8.1 搭建开发环境155
8.2 源码整体架构分析155
8.2.1 源码目录及组件源码入口155
8.2.2 组件中各功能模块的共用框架和功能分析160
8.3 组件源码分析166
8.3.1 配置文件读取166
8.3.2 CloudCore172
8.3.3 EdgeCore之Edged180
8.3.4 EdgeCore之DeviceTwin189
8.3.5 EdgeCore之EdgeHub195
8.3.6 EdgeCore之EventBus202
8.3.7 EdgeCore之MataManager206
8.3.8 EdgeCore之EdgeMesh212
8.4 本章小结217
第9章 端部分源码分析219
9.1 搭建开发环境219
9.2 源码整体架构分析219
9.3 组件源码分析220
9.3.1 Config-seed221
9.3.2 Core-command232
9.4 本章小结238

教学资源推荐
作者: 刘艺 罗兵 周安栋
作者: (美)Y. Daniel Liang 著 阿姆斯特朗亚特兰大州立大学
作者: 贾伯琪 顾为兵 苏仕华 张四海 何克东 编著
作者: Richard Blum
参考读物推荐
作者: [印]瑞提什·莫迪(Ritesh Modi)著
作者: 谢佳标 著
作者: [美]肯·寇森(Ken Kousen) 著