‍下面我们一起来学习KubeEdge的架构设计。
首先我们来了解一下KubeEdge的背景,KubeEdge是华为开源的,‍‍在2019年捐赠给了CNCF基金会,目前源代码在github上面托管,‍‍
是作为云原生基金会孵化的首个边缘计算的产品,目前正处于孵化当中。
下面我们来看一下KubeEdge的logo,

我们看一下它的logo像一种什么生物?
logo非常的像章鱼,之所以类比就是章鱼在围捕狩猎的时候,比如说用它的触角去抓一些小鱼小虾,‍‍然后它们触角之间会高度的配合,它们会不会因为在抓鱼的时候自己把自己给缠绕起来?
是不会的,‍‍是因为章鱼 40% 的神经元分布在它的头部,然后60%的神经元分在它的这些触角上面,‍‍所以说它是一个多个小脑,一个大脑构成了一个分布式计算的系统,而我们这个边缘计算和它真的非常的像,‍‍我们边缘计算也是一种分布式的计算,这种分布式的好处就是我们大部分这些重复的低级的操作,‍‍我们这个触角也就是我们的边缘侧来完成,而云端就处理一些核心的这些数据,从而减轻了云端的这些功耗。‍‍

下面我们就来看一下KubeEdge的架构设计图,看看是不是这种思想去设计的,这是KubeEdge的架构设计图,‍‍

了解KubeEdge的架构设计,对我们后续不管是使用KubeEdge,还是看它的实现源码都会非常的有帮助,‍‍KubeEdge的模块还是比较多的,我们可以从这个架构图可以看出,我这里将架构图拆分为三个部分来说,
第一个就是我们云边的通信方式,‍‍
第二个就是云端的架构设计,
第三部分就是边缘端的架构设计。‍‍

下面我们就来看一下云边的通信方式,‍‍从架构设计图可以看出在云端对应的 Cloud Hub 模块,以及边缘端的 Edge Hub 模块,‍‍它们之间是双向通信的,‍‍【websocket协议】然后其中Cloud Hub和 Edge Hub,它们就分别承担着云端和边缘端的网络代理的工作。‍‍现在就是说云端和边缘端的流量的出入都会经由此处,然后它们之间的通信方式就是微websocket协议,‍‍

其中云端就是websocket的服务端,运营端就是websocket的客户端,‍‍为什么要采用这种方式,难道HTTP不香吗?‍‍原因是因为HTTP只能由客户端向服务端发起请求,就类似于我们这种Restful API的风格的发送一些GET POST 或者是PUT DELETE 这种请求。‍‍而在云边协同的这种场景下,很多时候需要云端主动的向边缘端发起请求,‍‍而websocket刚好就能解决这个问题。

那么接下来的问题就是云边通信,通信的内容是什么?
我这里将通信的数据分成了两个类别,‍‍就是配置数据和我们业务数据。

那么配置数据包括哪些?‍‍在云边协同的场景下,我们需要由云端向边缘端下发应用,因为应用都是以pod的方式运行的,‍‍所以说我们可以理解为云端向边缘端发送创建pod的指令,‍‍而这种创建pod的指令的数据就是要通过这种websocket完成下发的,同时边缘端布置pod完毕之后,‍‍边缘端还需要实时向云端上报 pod 的运行状态,以及它的运行的一些日志信息。‍‍由于这些数据适用于配置 我们这个业务,是一些底层的技术支撑的,
所以说我把它称之为是配置数据。‍‍

那么有配置数据对应的就是一些业务数据,从架构设计图当中可以看到,

这边有一个APP和MQTT两个部分,‍‍这两种方式的话就是边缘端接入设备的这种方式,‍‍接入之后就可以通过这两种方式与我们云端做数据的交互,而这里交互的数据就是与我们业务相关的一些数据,‍‍所以说称之为就是业务数据。‍‍
有关这两种数据交互的方式,这边有一个EventBus和ServiceBus,‍‍

然后就是云边的它一个通信方式的内容。‍
关注我,为思考点赞!

KubeEdge 云边通信方式相关推荐

  1. 【kubeedge+云服务器+树莓派】云端配置

    [kubeedge+云服务器+树莓派]云端配置 使用阿里云的ecs服务器作为云服务器,最终成功配置的版本如下: ubuntu 20.04 (云服务器操作系统) k8s v1.21 kubeedge v ...

  2. DaoCloud丨云原生边缘计算产业发展现状与趋势展望

    随着万物互联.数字孪生.泛在算力等理念不断推进,边缘计算正在成为越来越多开发者们关注的焦点.云原生边缘计算覆盖哪些应用场景?各行各业云原生边缘计算有何差异?云边协同对 Cloud Native 六大诉 ...

  3. k8s+kubeedge+sedna安装全套流程+避坑指南+解决办法

    最近在学习边缘计算要用到kubeedge,安装了好多次总会遇到各种各样的问题,因此在这里一一列出,以方便下次安装.则里面可能出错的地方太多,如果有问题,请私信联系. 一.环境准备 节点 IP 环境 软 ...

  4. 面向 KubeEdge 边缘计算系统应用研究

    本文转载自<智能科学与技术学报> 主管:工业和信息化部 主办:人民邮电出版社 指导:中国自动化学会 ISSN 2096-6652 CN 10-1604/TP 作 者 赵航1,2, 刘胜1, ...

  5. 详析 Kubernetes 在边缘计算领域的发展

    作者 | 张杰 来源 | 分布式实验室 现在开源边缘计算正在经历其业界最具活力的发展阶段.如此多的开源平台,如此多的整合以及如此多的标准化举措!这显示了构建更好平台的强大动力,以便将云计算带到边缘以满 ...

  6. 电信运营商基于 MQTT 协议 构建千万级 IoT 设备管理平台

    MQTT 是用于物联网的标准消息传递协议.它被设计为一种非常轻量级的发布/订阅消息传送,非常适合以较小的代码占用量和网络带宽连接远程设备.MQTT 协议具有以下特点: 轻巧高效:MQTT 客户端非常小 ...

  7. 飞鸽传书的这一新的通信方式采用云技术

    CSDN博客指出,这一新的通信方式采用云技术,如果只浏览文字.图像.视频.语音信息,而不下载,对流量的消耗远小于手机版飞信,以现在运用的微信为例,5元包月20M流量可以发送几千条微信,而且微信好友是通 ...

  8. 华为云arm架构轻松安装kubeedge

    先安装k8s 华为云arm架构安装k8s(kubernetes) 下载kubeedge需要的软件 官方github下载kubeedge地址 cloudcore.service文件下载地址 注意:下载对 ...

  9. 在 openEuler 上通过 KubeEdge+iSulad 搭建云边协同集群

    本文非广告,分享一篇欧拉系统关于边缘计算相关的文章. 9月,全新的 openEuler 21.09 正式发布.openEuler 21.09 是欧拉正式升级面向数字基础设施的开源操作系统后的第一个社区 ...

最新文章

  1. leetcode算法题--会议室★★
  2. 2020总结--惟愿人间花满天
  3. java 静态内部类 线程安全问题_单例模式的七种写法, 面试题:线程安全的单例模式...
  4. ios使用自带git respository管理项目
  5. php 接口继承,PHP面向对象之旅:接口的继承
  6. iOS-数据持久化-偏好设置
  7. pythondocumentation是什么_怎样阅读Python官方文档
  8. js逆向网易云加密记录
  9. [c/c++]小议几个写缓冲区的函数
  10. 目标检测回归损失函数总结
  11. C#封装DLL类库,调用类库
  12. linux503解决方法,解决nginx 503 Service Temporarily Unavailable方法示例
  13. 关于沉没成本的座谈会
  14. Spring Boot中多个PostConstruct注解执行顺序控制
  15. java 高并发商城库存订单处理,下单减库存,如何解决高并发减库存问题
  16. 买股票也要会买跌,股票不是只有涨的时候才能买的
  17. BBEdit 10.X for mac的lincese
  18. 【转】活灵活现用Git--基础篇
  19. Linux挂载proc文件夹,Linux中/etc/fstab /etc/mtab /proc/mounts这三个文件的分析与比较
  20. 计算机病毒手动查杀,手动查杀电脑病毒的一些基本方法

热门文章

  1. 3D引擎渲染管理系统概览
  2. 计算机课程延伸知识点,【非计算机专业计算机基础课程教学改革】 计算机基础知识点归纳...
  3. 使用css选择器实现表格隔行换色
  4. 【python】隔离期间送男/女朋友的小浪漫
  5. 01引入方式、变量、数据类型
  6. Android 实现QQ、微信、新浪微博和百度第三方登录
  7. Opencv 给灰度图上颜色
  8. uniapp 小程序 微信一键登录
  9. linux 111端口的用处,扫描到的端口到底有什么用
  10. C++ 流控制函数setw()、setfill()、setbase()、setprecision()的使用