diff --git a/预研项目/5G与MEC多接入边缘计算.md b/预研项目/5G与MEC多接入边缘计算.md new file mode 100644 index 0000000..392b5c6 --- /dev/null +++ b/预研项目/5G与MEC多接入边缘计算.md @@ -0,0 +1,126 @@ +## [5G 与 MEC 边缘计算](https://www.cnblogs.com/jmilkfan-fanguiju/p/11825026.html) + +MSC(Mobile Switching Center,移动交换中心) + +| 缩写 | --- | +| ------ | ------------------------------------------------------------ | +| MSC | Mobile Switching Center,移动交换中心 | +| NFV | Network Functions Virtualization(网络功能虚拟化) NF:Net Function网络功能; VNF: Virtual NF虚拟网元 | +| OSS | Operations Support System 操作支撑系统;Object Storage Service 对象存储服务‘; | +| SBI | Service Based Interface,基于服务的接口 | +| EC | Edge Computing,边缘计算 | +| MEC | Mobile Edge Computing 移动边缘计算(最早有Nokia和IBM提出); 后续扩展为 Multi-Access Edge Computing | +| CDN | Content Delivery Network 网络内容分发服务。本质属于边缘计算 | +| RAN | 无线接入网 | +| UE | User-Endpoint 用户终端 | +| CFS | Customer-Facing Service 面向用户的服务 | +| CRD | Custom Resource Definitions大约在两年前引入,作为使用定制资源扩展Kubernetes API的主要方法。 | +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| 云原生 | 使命是改变世界如何构建软件,其主要由微服务架构、DevOps 和以容器为代表的敏捷基础架构几部分组成,目标是实现交付的弹性、可重复性和可靠性。(关键词 敏捷、微服务、容器、DevOps) | + + + + + +![image-20210706092710328](imgs/电信/image-20210706092710328.png) + +### 2G + +![在这里插入图片描述](imgs/电信/201909241439244.png) + + + +![在这里插入图片描述](imgs/电信/20190924172953170.png) + +### 3G + +![在这里插入图片描述](imgs/电信/20190924173058343.png) + +### 4G + +SGSN演变成 MME(Mobility Management Entity); GGSN演变成SGW/PGW (Serving Gateway服务网关;PDN Gateway,PDN网关) + +MME(移动性管理实体)的主要功能是支持 NAS(非接入层)信令及其安全、跟踪区域(TA)列表的管理、PGW 和 SGW 的选择、跨 MME 切换时进行 MME 的选择、在向 2G/3G 接入系统切换过程中进行 SGSN 的选择、用户的鉴权、漫游控制以及承载管理、3GPP 不同接入网络的核心网络节点之间的移动性管理(终结于 S3 节点),以及 UE 在 ECM_IDLE 状态下可达性管理(包括寻呼重发的控制和执行)。 + +![在这里插入图片描述](imgs/电信/20190924145122616.png) + +### 5G + +5G 是一个端到端的生态系统,它将打造一个全移动和全连接的社会。5G 主要包括三方面:生态、客户和商业模式。它交付始终如一的服务体验,通过现有的和新的用例,以及可持续发展的商业模式,为客户和合作伙伴创造价值。 + +1. 更好的使用者传输速率体验(User Experienced Data Rate):100 Mb/s 以上 +2. 更高的峰值传输速率(Peak Data Rate):20Gb/s +3. 单位面积在单位时间内更高的传输数据量(Traffic Capacity):10~100Mb/s/m2 +4. 更高的频谱使用率(Spectrum Effiency):3 倍以上 +5. 更快的移动速度(Mobility):500km/h +6. 更低的延迟(Latency):1ms 以下 +7. 更高密度的装置联机(Connection Dencity):100 万 devices/km2 +8. 更低的耗能(Network Energy Efficiency):电力消耗为 1/100 以下 + +![在这里插入图片描述](imgs/电信/2019092422554558.png) + +为了应对这这样的技术挑战,**5G 网络设计原则**为: + +- 从集中化向分布式发展 +- 从专用系统向虚拟系统发展 +- 从闭源向开源发展 + + + + ![在这里插入图片描述](imgs/电信/20190924172317914.png) + +5G网络逻辑架构 + +![在这里插入图片描述](imgs/电信/20190924172357843.png) + +三大关键技术: + +1. SBA 基于服务的架构 + +2. 微服务化 +3. SBI 基于服务的接口 + + ![在这里插入图片描述](imgs/电信/20190924225150819.png) + + ![在这里插入图片描述](imgs/电信/20190924223557381.png) + + + +### MEC边缘计算 + +ETSI(欧洲电信标准化协会)的 **`MEC`**(多接入边缘计算)架构 + +【[ESTI GS MEC 003](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/003/02.01.01_60/gs_MEC003v020101p.pdf)】【[ESTI GS MEC 011](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf)】 + + ![image-20210706092226285](imgs/电信/image-20210706092226285.png) + + ![在这里插入图片描述](imgs/电信/20190925161930203.png) + +- **ME 主机(移动边缘主机)** 由 ME 平台、ME 应用和虚拟化基础设施组成。虚拟化基础设施可以为 ME 应用提供计算、存储和网络资源,并且可以为 ME 应用提供持续的存储和时间相关的信息,它包含一个数据转发平面来为从 ME 平台接收到的数据执行转发规则,并在各种应用、服务和网络之间进行流量的路由。 +- **ME 平台(移动边缘平台,MEP)** 从 ME 平台管理器、ME 应用或 ME 服务处接收流量转发规则,并且基于转发规则向转发平面下发指令。另外,ME 平台还支持本地域名系统(DNS)、代理服务器的配置,可以将数据流量重定向到对应的应用和服务。ME 平台还可以通过 Mp3 参考点与其他的 ME 平台进行通信,在分布式 MEC 系统的协作机制中,Mp3 参考点可以作为不同 ME 平台互联的基础。 +- **ME 应用(移动边缘应用,ME APP)** 是运行在 ME 虚拟化基础设施上的虚拟机实例,这些应用通过 Mp1 参考点与 ME 平台相互通信。Mp1 参考点还可提供标识应用可用性、发生 ME 切换时为用户准备或重定位应用状态等额外功能。 +- **ME 平台管理器(ME platform manager,移动边缘平台管理器,MEPM)** 具有 ME 平台元素管理、ME 应用生命周期管理以及 ME 应用规则和需求管理等功能。ME 平台和 MEPM 之间使用 Mm5 参考点,该参考点实现平台和流量过滤规则的配置,并且负责管理应用的重定位和支持应用的生命周期程序。Mm2 是操作支持系统(OSS)和 MEPM 之间的参考点,负责 ME 平台的配置和性能管理。Mm3 是 MEO 和 MEPM 之间的参考点,负责为应用的生命周期管理和应用相关的策略提供支持,同时为 ME 的可用服务提供时间相关的信息。 + - ME 应用生命周期管理包括 ME 应用程序的创建和终止,并且为 ME 编排器(ME orchestrator,MEO,移动边缘编排器)提供应用相关事件的指示消息。 + - ME 应用规则和需求管理包括认证、流量规则、DNS 配置和冲突协调等。 +- **ME 编排器(ME orchestrator,MEO,移动边缘编排器)** 是 ME 提供的核心功能,MEO 宏观掌控 ME 网络的资源和容量,包括所有已经部署好的 ME 主机和服务、每个主机中的可用资源、已经被实例化的应用以及网络的拓扑等。在为用户选择接入的目标 ME 主机时,MEO 衡量用户需求和每个主机的可用资源,为其选择最为合适的 ME 主机,如果用户需要进行 ME 主机的切换,则由 MEO 来触发切换程序。MEO 与OSS 之间通过 Mm1 参考点来触发 ME 应用的实例化和终止。MEO 与虚拟化基础设施管理器(VIM)之间通过 Mm4 参考点来管理虚拟化资源和应用的虚拟机映像,同时维持可用资源的状态信息。 +- 从 ME 系统的角度来看,**OSS(Operations Support System 操作支持系统)** 是支持系统运行的最高水平的管理实体。OSS 从面向用户服务(Customer-Facing Service,CFS)门户和用户终端(UE)接收实例化或终止 ME 应用的请求,检查应用数据分组和请求的完整性和授权信息。经过 OSS 认证授权的请求数据分组会通过 Mm1 参考点被转发到 MEO 进行进一步处理。 +- **面向用户服务门户(Customer-Facing Service Portal,CFS Portal)** 实体相当于第三方接入点,开发商使用该接口将自己开发的各种应用接入运营商的 ME 系统中,企业或者个人用户也可以通过该接口选择其感兴趣的应用,并指定其使用的时间和地点。CFS 通过 Mx1 参考点与 OSS 实现通信。 +- **用户终端应用(User app,UEAPP)** +- **用户应用生命周期代理(user app LCM proxy,UEAPPLCM proxy)** 是供 ME 用户使用来请求应用相关的实例化和终止等服务的实体。该实体可以实现外部云和 ME 系统之间的应用重定位,负责对所有来自外部云的请求进行认证,然后分别通过 Mm8 和 Mm9 参考点发送给 OSS 和 MEO 做进一步处理。值得注意的是,LCM 只能通过移动网络接入,Mx2 参考点提供了 UE 与 LCM 相互通信的基础。 +- **虚拟化基础设施管理器(VIM)** 用于管理 ME 应用的虚拟资源,管理任务包括虚拟计算、存储和网络资源的分配和释放,软件映像也可以存储在 VIM 上以供应用的快速实例化。同时,VIM 还负责收集虚拟资源的信息,并通过 Mm4 参考点和 Mm6 参考点分别上报给MEO 和 MEPM 等上层管理实体。 + +MEC设计原则 + +- **网络开放**:MEC 可提供平台开放能力,在服务平台上集成第三方应用或在云端部署第三方应用。 +- **能力开放(APIs 经济)**:通过公开 API 的方式为运行在 MEC 平台主机上的第三方 MEC 应用提供包括无线网络信息、位置信息等多种服务。能力开放子系统从功能角度可以分为能力开放信息、API 和接口。API 支持的网络能力开放主要包括网络及用户信息开放、业务及资源控制功能开放。 +- **资源开放**:资源开放系统主要包括 IT 基础资源的管理(如 CPU、GPU、计算能力、存储及网络等),能力开放控制以及路由策略控制。 +- **管理开放**:平台管理系统通过对路由控制模块进行路由策略设置,可针对不同用户、设备或者第三方应用需求,实现对移动网络数据平面的控制。 +- **本地转发**:MEC 可以对需要本地处理的数据流进行本地转发和路由。 +- **移动性**:终端在基站之间移动,在小区之间移动,跨 MEC 平台的移动。 +- **计费和安全**。 \ No newline at end of file diff --git a/预研项目/imgs/电信/201909241439244.png b/预研项目/imgs/电信/201909241439244.png new file mode 100644 index 0000000..9dbf3ee Binary files /dev/null and b/预研项目/imgs/电信/201909241439244.png differ diff --git a/预研项目/imgs/电信/20190924145122616.png b/预研项目/imgs/电信/20190924145122616.png new file mode 100644 index 0000000..3bb1b23 Binary files /dev/null and b/预研项目/imgs/电信/20190924145122616.png differ diff --git a/预研项目/imgs/电信/20190924172317914.png b/预研项目/imgs/电信/20190924172317914.png new file mode 100644 index 0000000..e4d403e Binary files /dev/null and b/预研项目/imgs/电信/20190924172317914.png differ diff --git a/预研项目/imgs/电信/20190924172357843.png b/预研项目/imgs/电信/20190924172357843.png new file mode 100644 index 0000000..a694112 Binary files /dev/null and b/预研项目/imgs/电信/20190924172357843.png differ diff --git a/预研项目/imgs/电信/20190924172953170.png b/预研项目/imgs/电信/20190924172953170.png new file mode 100644 index 0000000..5ad38e8 Binary files /dev/null and b/预研项目/imgs/电信/20190924172953170.png differ diff --git a/预研项目/imgs/电信/20190924173058343.png b/预研项目/imgs/电信/20190924173058343.png new file mode 100644 index 0000000..65a2abb Binary files /dev/null and b/预研项目/imgs/电信/20190924173058343.png differ diff --git a/预研项目/imgs/电信/20190924223557381.png b/预研项目/imgs/电信/20190924223557381.png new file mode 100644 index 0000000..b3d66a4 Binary files /dev/null and b/预研项目/imgs/电信/20190924223557381.png differ diff --git a/预研项目/imgs/电信/20190924225150819.png b/预研项目/imgs/电信/20190924225150819.png new file mode 100644 index 0000000..bdaf2df Binary files /dev/null and b/预研项目/imgs/电信/20190924225150819.png differ diff --git a/预研项目/imgs/电信/2019092422554558.png b/预研项目/imgs/电信/2019092422554558.png new file mode 100644 index 0000000..a1a3bf6 Binary files /dev/null and b/预研项目/imgs/电信/2019092422554558.png differ diff --git a/预研项目/imgs/电信/20190925161930203.png b/预研项目/imgs/电信/20190925161930203.png new file mode 100644 index 0000000..0d7795e Binary files /dev/null and b/预研项目/imgs/电信/20190925161930203.png differ diff --git a/预研项目/imgs/电信/image-20210706092226285.png b/预研项目/imgs/电信/image-20210706092226285.png new file mode 100644 index 0000000..066592a Binary files /dev/null and b/预研项目/imgs/电信/image-20210706092226285.png differ diff --git a/预研项目/imgs/电信/image-20210706092710328.png b/预研项目/imgs/电信/image-20210706092710328.png new file mode 100644 index 0000000..162b344 Binary files /dev/null and b/预研项目/imgs/电信/image-20210706092710328.png differ diff --git a/预研项目/imgs/边缘计算/150255_C2zj_4252687.png b/预研项目/imgs/边缘计算/150255_C2zj_4252687.png new file mode 100644 index 0000000..5aeebfb Binary files /dev/null and b/预研项目/imgs/边缘计算/150255_C2zj_4252687.png differ diff --git a/预研项目/imgs/边缘计算/20190725205621760.png b/预研项目/imgs/边缘计算/20190725205621760.png new file mode 100644 index 0000000..c42bc16 Binary files /dev/null and b/预研项目/imgs/边缘计算/20190725205621760.png differ diff --git a/预研项目/imgs/边缘计算/20190924221143436.png b/预研项目/imgs/边缘计算/20190924221143436.png new file mode 100644 index 0000000..4fdc148 Binary files /dev/null and b/预研项目/imgs/边缘计算/20190924221143436.png differ diff --git a/预研项目/imgs/边缘计算/20190924222418278.png b/预研项目/imgs/边缘计算/20190924222418278.png new file mode 100644 index 0000000..264a9dc Binary files /dev/null and b/预研项目/imgs/边缘计算/20190924222418278.png differ diff --git a/预研项目/imgs/边缘计算/20190924222656416.png b/预研项目/imgs/边缘计算/20190924222656416.png new file mode 100644 index 0000000..376d2a6 Binary files /dev/null and b/预研项目/imgs/边缘计算/20190924222656416.png differ diff --git a/预研项目/imgs/边缘计算/20190924222722135.png b/预研项目/imgs/边缘计算/20190924222722135.png new file mode 100644 index 0000000..3f2fe92 Binary files /dev/null and b/预研项目/imgs/边缘计算/20190924222722135.png differ diff --git a/预研项目/imgs/边缘计算/20190925161930203.png b/预研项目/imgs/边缘计算/20190925161930203.png new file mode 100644 index 0000000..0d7795e Binary files /dev/null and b/预研项目/imgs/边缘计算/20190925161930203.png differ diff --git a/预研项目/imgs/边缘计算/20191127104017475.png b/预研项目/imgs/边缘计算/20191127104017475.png new file mode 100644 index 0000000..46488fc Binary files /dev/null and b/预研项目/imgs/边缘计算/20191127104017475.png differ diff --git a/预研项目/imgs/边缘计算/22151946_VNrY.png b/预研项目/imgs/边缘计算/22151946_VNrY.png new file mode 100644 index 0000000..7c44cad Binary files /dev/null and b/预研项目/imgs/边缘计算/22151946_VNrY.png differ diff --git a/预研项目/imgs/边缘计算/305203772e4c8ce1593436aaa4d71c56.png b/预研项目/imgs/边缘计算/305203772e4c8ce1593436aaa4d71c56.png new file mode 100644 index 0000000..d87a52c Binary files /dev/null and b/预研项目/imgs/边缘计算/305203772e4c8ce1593436aaa4d71c56.png differ diff --git a/预研项目/imgs/边缘计算/31154627_k7Ii.png b/预研项目/imgs/边缘计算/31154627_k7Ii.png new file mode 100644 index 0000000..2881e96 Binary files /dev/null and b/预研项目/imgs/边缘计算/31154627_k7Ii.png differ diff --git a/预研项目/imgs/边缘计算/82778d252e384026ae04de63743a82c7.png b/预研项目/imgs/边缘计算/82778d252e384026ae04de63743a82c7.png new file mode 100644 index 0000000..a61bac9 Binary files /dev/null and b/预研项目/imgs/边缘计算/82778d252e384026ae04de63743a82c7.png differ diff --git a/预研项目/imgs/边缘计算/Akranio-1-1.png b/预研项目/imgs/边缘计算/Akranio-1-1.png new file mode 100644 index 0000000..7ad2976 Binary files /dev/null and b/预研项目/imgs/边缘计算/Akranio-1-1.png differ diff --git a/预研项目/imgs/边缘计算/EdgeX_architecture.png b/预研项目/imgs/边缘计算/EdgeX_architecture.png new file mode 100644 index 0000000..f87eb65 Binary files /dev/null and b/预研项目/imgs/边缘计算/EdgeX_architecture.png differ diff --git a/预研项目/imgs/边缘计算/EdgeX_octopus.png b/预研项目/imgs/边缘计算/EdgeX_octopus.png new file mode 100644 index 0000000..7dc5e88 Binary files /dev/null and b/预研项目/imgs/边缘计算/EdgeX_octopus.png differ diff --git a/预研项目/imgs/边缘计算/c65cb67aaf03cd7daa610097e19f05a2.png b/预研项目/imgs/边缘计算/c65cb67aaf03cd7daa610097e19f05a2.png new file mode 100644 index 0000000..1320bb5 Binary files /dev/null and b/预研项目/imgs/边缘计算/c65cb67aaf03cd7daa610097e19f05a2.png differ diff --git a/预研项目/imgs/边缘计算/how-it-works-k3s.svg b/预研项目/imgs/边缘计算/how-it-works-k3s.svg new file mode 100644 index 0000000..5c7b77d --- /dev/null +++ b/预研项目/imgs/边缘计算/how-it-works-k3s.svg @@ -0,0 +1 @@ +how-it-works \ No newline at end of file diff --git a/预研项目/imgs/边缘计算/image-20210705170403630.png b/预研项目/imgs/边缘计算/image-20210705170403630.png new file mode 100644 index 0000000..9dc009e Binary files /dev/null and b/预研项目/imgs/边缘计算/image-20210705170403630.png differ diff --git a/预研项目/imgs/边缘计算/image-20210706092226285.png b/预研项目/imgs/边缘计算/image-20210706092226285.png new file mode 100644 index 0000000..066592a Binary files /dev/null and b/预研项目/imgs/边缘计算/image-20210706092226285.png differ diff --git a/预研项目/imgs/边缘计算/image-20210706154642416.png b/预研项目/imgs/边缘计算/image-20210706154642416.png new file mode 100644 index 0000000..f60f529 Binary files /dev/null and b/预研项目/imgs/边缘计算/image-20210706154642416.png differ diff --git a/预研项目/imgs/边缘计算/kubeedge_arch.png b/预研项目/imgs/边缘计算/kubeedge_arch.png new file mode 100644 index 0000000..d85212d Binary files /dev/null and b/预研项目/imgs/边缘计算/kubeedge_arch.png differ diff --git a/预研项目/imgs/边缘计算/v2-5f1c5796554660c2631724153cff8de2_720w.jpg b/预研项目/imgs/边缘计算/v2-5f1c5796554660c2631724153cff8de2_720w.jpg new file mode 100644 index 0000000..db2135c Binary files /dev/null and b/预研项目/imgs/边缘计算/v2-5f1c5796554660c2631724153cff8de2_720w.jpg differ diff --git a/预研项目/边缘计算.md b/预研项目/边缘计算.md new file mode 100644 index 0000000..d1bccb2 --- /dev/null +++ b/预研项目/边缘计算.md @@ -0,0 +1,286 @@ +## 边缘计算是什么 + +### 概念 + +边缘计算**EC** (**Edge Computing**)是靠近物或数据源一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。 + +优点: **实时**业务、应用**智能**、安全和**隐私**保护; + +大神们说什么: + ++ 边缘计算是当前的行动之所在。(*George Burns* @SPR) ++ 很多组织现在可以将云计算技术用于需要‘接近度计算’的用例。这可以提高生产力,降低成本,甚至产生新的收入模式。 (*Shamik Mishra*) ++ 边缘计算使数据和计算更接近交互点。(*E.G. Nadhan*) + ++ 让边缘自己收集数据、分享见解(*E.G. Nadhan*) ++ 更灵活的对不断变化的业务需求做出反应 (*Dave McCarthy*) ++ 这一切归结为一个概念:访问质量。减少了在用户与他们尝试访问的资源之间传输的物理距离 (*Burns*) ++ 制造业、零售业、健康、能源和公用事业等行业计划在采用边缘解决方案的基础上加倍努力(*Yugal Joshi*) ++ 这是内容交付网络(CDN)的新增功能。(*Blum* @PubNub) + + + + ![image-20210705170403630](imgs/边缘计算/image-20210705170403630.png) + +​ 把边缘计算类比为 计算机中 的 `Memory`和`Cache`的概念,把用户常用的数据放在离用户比较近的边缘云(Edge-Cloud)上,达到降低用户存取网络信息/服务的延迟,同时降低核心网络的流量负担。 + +典型应用场景: + ++ **物联网、工业互联网、交通、能源、零售、智慧城市、智慧建筑、云游戏、互动直播** ++ **CDN**也属于一种边缘计算。*CDN (Content Delivery Network 内容分发网络) 通过遍布全国的缓存边缘节点、内部专用线路以及完善的网络路由调度机制为用户自动选择最佳网络访问路径,将源站的内容分发到最接近用户的网络边缘节点* + + + +### 电信网络中涉及的边缘计算思想 + +如下图,将原本放在电信运营商核心网或数据中心中的 APPs 跟 Services 迁移到了边缘云中,而使用者或是开发者只要透过 API 就能存取/使用边缘云上的资源/服务。[[1](https://www.cnblogs.com/jmilkfan-fanguiju/p/11825026.html)] + +![在这里插入图片描述](imgs/边缘计算/20190924222418278.png) + +例如中国联通的MEC Server + +![在这里插入图片描述](imgs/边缘计算/20190924222656416.png) + +![在这里插入图片描述](imgs/边缘计算/20190924222722135.png) + + + +5G技术中中引入了边缘计算([Multiple Edge Computing](https://www.cnblogs.com/jmilkfan-fanguiju/p/11825026.html))。 + +![在这里插入图片描述](imgs/边缘计算/20190924221143436.png) + + + +### 在监测领域可以做什么? + ++ 网络状况差 + + 电信网络覆盖较差的地区,通过云端下发采集指令可能出现丢失或超时的情况。可以通过边缘节点(网关)采集数据,在网络状态恢复后,将数据发送到云端 + ++ 时延要求高 + + 一些业务场景要求的数据实时性较高,如果把数据传输到平台经过ETL和决策分析,往往有比较高的时延。某些应用场景:如工地实时安全监测、人脸识别等,这样会造成较差的体验。下层云平台业务代码,可实现在边缘实时告警。 + ++ 减少云端压力 + + 数据频率较高的数据,上传到云端,对网络、存储、CPU消耗都是比较大的,这就增加了平台服务器的成本,而且很多都是无效的垃圾数据。边缘计算场景下,可以在边缘节点,进行数据的筛选清洗和部分分析、告警功能,将处理后的数据上报到平台,减少平台的压力 + +## 开源框架 + +[选型对比](https://www.cnblogs.com/wsjhk/p/12103998.html) + +| EdgeX Foundry | K3S | KubeEdge | StarlingX | OpenEdge | | +| ---------------- | ------ | -------- | ---------------- | -------- | ------ | +| 云边协同 | 不支持 | 不支持 | 支持 | 支持 | 支持 | +| 原生支持K8S | 不支持 | 支持 | 支持 | 不支持 | 不支持 | +| 边缘组件资源占用 | 中 | 小 | 最小(内存256M) | 较大 | 较大 | +| 部署复杂度 | 复杂 | 简单 | 简单 | 复杂 | 复杂 | +| 是否去中心化 | 否 | 否 | 是 | 否 | 否 | +| 是否支持MQTT | 支持 | 支持 | 支持 | 支持 | 支持 | +| 容器化编排 | 不支持 | 支持 | 支持 | 支持 | 不支持 | + + + +### [KubeEdge](https://github.com/kubeedge/kubeedge) + +华为开源产品,构建在Kubernetes之上,并将本机容器化应用程序编排和设备管理扩展到边缘主机。,打通了云、边、端的整体流程: ++ 用户能够在云上统一管理边缘节点上的应用、设备 ++ 提供了云边协同的能力,能够同步云边的应用、设备的数据 ++ 针对复杂多样的边缘设备,KubeEdge定义了一套通用的设备管理API(K8s CRD)以及设备协议解耦层,用户可以方便地使用KubeEdge在云上管理各种边缘设备 ++ 针对云边网络不稳定的情况,提供了云边数据协同的可靠性传输、边缘元数据持久化 ++ 针对边缘资源不足的情况,轻量化裁剪了Kubelet,支持在256MB的小型设备上运行 + +![KubeEdge Architecture](imgs/边缘计算/kubeedge_arch.png) + +优势: + ++ 原生支持kubernetes ++ 云边缘可靠协作 ++ 边缘自治 ++ 边缘设备管理:通过CRD实现的Kubernetes本地api管理边缘设备。 ++ 极轻量边缘代理 (EdgeCore) + +### StarlingX + +[doc](https://docs.starlingx.io/) + +Intel和*WindRiver*开源的边缘计算项目。StarlingX是一个软件栈,他包含了打包,编译,安装配置,openstack本身,WindRiver的MTCE平台,以及WindRiver针对电信云开发的VIM等等。基于OpenStack的大规模边缘计算方案,集成了OpenStack的核心服务用于实现计算,网络,存储等能力。目标是实现边缘端的无人值守,虚拟机级别的管理。边缘端组成边缘云互相协同,以及和中心云实现协同。 + +![image-20210706154642416](imgs/边缘计算/image-20210706154642416.png) + +### EdgeX Foundry + +![image](imgs/边缘计算/EdgeX_octopus.png) + + Linux基金组织的开源项目。偏重于端侧设备的管理,定位是通用工业IOT边缘计算通用框架,提供了一些设备接入、边缘数据传输等场景的实现,但不具备云上对边缘端的应用和设备的管控、云边协同等智能边缘系统的能力,架构组件之间依赖复杂。 + +**DELL**开源的FUSE (Java SPRING CLOUD)源代码基础之上建立。 + +提供Go、C的设备服务驱动。 + +EdgeX的四层结构: + ++ Application Services + + 应用程序服务是从EdgeX提取、处理/转换和发送感测数据到您选择的端点或进程的手段。 + ++ Supporting Services + + 支撑服务包括范围广泛的微服务,包括边缘分析(也称为本地分析)。正常的软件应用程序职责,如日志记录、调度和数据清理(在EdgeX中也称为清理)由支持服务层中的微服务执行。 + + + Rules Engine:根据边缘传感器数据执行if-then条件判断 + + Scheduling 内部的EdgeX“时钟”,通过定时服务请求EdgeX的REST接口触发操作。 + + 日志记录 + + 警报和通知 + ++ Core Services + + EdgeX南北联系中介,thing的连接、数据流动、EdgeEx实例配置均在这里 + + + Core Data + + 一个持久性存储库和相关的管理服务,用于从南侧对象收集的数据。 + + + Command + + 一种服务,它促进和控制从北侧到南侧的驱动请求。 + + + MetaData + + 一种存储库和与之相关的元数据管理服务,用于连接到EdgeX Foundry的对象。元数据提供了提供新设备并将其与其所拥有的设备服务配对的功能。 + + + Registry & Config + + 向其他EdgeX Foundry micro服务提供有关EdgeX Foundry和micro services配置属性(即初始化值存储库)中相关服务的信息。 + ++ Device Services + + 提供“thing”的连接 + +![img](imgs/边缘计算/EdgeX_architecture.png) + +### K3s + +Rancher Labs的开源产品。K3s是在边缘运行整个K8s集群的方案,不具备云边协同的能力;其次K3s虽然对K8s做了轻量化,但整体资源要求仍然较高,无法运行在IOT Hub、工业网关等小型设备中。 + +k3s是经CNCF一致性认证的**轻量级**Kubernetes发行版,专为物联网及边缘计算设计。 + +![k3s](imgs/边缘计算/how-it-works-k3s.svg) + +### OpenEdge + +[非官方文档](https://www.bookstack.cn/read/OpenEdge/3.md) + +百度开源的面向端的工业互联网智能边缘计算方案,需要和百度的云端管理套件BIE结合实现云边协同。 + +> **模块化** **容器化** **按需使用、按需部署** **一键式构建** **资源隔离与限制** + +包含: + +- 主程序(master) + - [模块引擎(engine)](https://www.bookstack.cn/read/OpenEdge/3.md#模块引擎(engine)) + - [云代理(agent)](https://www.bookstack.cn/read/OpenEdge/3.md#云代理(agent)) 负责和云端管理套件通讯(MQTT/HTTPS) + - [API(api)](https://www.bookstack.cn/read/OpenEdge/3.md#API(api)) 支持获取空闲端口,模块的启动和停止 + - [环境变量(env)](https://www.bookstack.cn/read/OpenEdge/3.md#环境变量(env)) +- 官方模块 + - Hub模块(openedge-hub) + - [函数计算模块(openedge-function)](https://www.bookstack.cn/read/OpenEdge/3.md#函数计算模块(openedge-function)) + - [函数计算python27 runtime模块(openedge-function-runtime-python27)](https://www.bookstack.cn/read/OpenEdge/3.md#函数计算python27 runtime模块(openedge-function-runtime-python27)) + - [远程通讯模块(openedge-remote-mqtt)](https://www.bookstack.cn/read/OpenEdge/3.md#远程通讯模块(openedge-remote-mqtt)) + +![Docker容器模式结构图](imgs/边缘计算/305203772e4c8ce1593436aaa4d71c56.png) + +HUB模块: + +![Hub模块结构图](imgs/边缘计算/c65cb67aaf03cd7daa610097e19f05a2.png) + +### 其他 + +#### Akraino + +Akraino Edge Stack基金项目,支持针对边缘计算系统和应用程序优化的高可用性云服务。 + +包含三层: + ++ 应用部署:负责部署边缘应用并创建app/VNF的边缘生态系统 ++ 边缘中间件和API: 创建标准的边缘平台和中间件,统一API和SDK接口 ++ 底层对接开源IaaS,比如OpenStack、Kubernetes + +![img](imgs/边缘计算/Akranio-1-1.png) + +设计原则: + +Edge计算解决方案需要大规模部署,Akraino项目的关键要求是保持低成本并确保其通过自动化支持大规模部署。 Akraino社区与多个上游开源社区(如Airship,OpenStack,ONAP等)合作,提供完全集成的堆栈,支持远程配置和集成堆栈的远程生命周期管理。 + +#### Baetyl + +百度OpenEdge的新名字 + + + +![../_images/design_overview.png](imgs/边缘计算/31154627_k7Ii.png) + +#### OpenYurt + +?? *未完全开源* + +阿里开源**OpenYurt 主打“云边一体化”概念**。 + +依托 Kubernetes 强大的容器应用编排能力,满足了云-边一体化的应用分发、交付、和管控的诉求。相较于其他基于 Kubernetes 的边缘计算框架,OpenYurt 秉持着“最小修改”原则,通过在边缘节点安装 Yurthub 组件,和在云端部署 Yurt-controller-manager,保证了在对 Kubernetes 零侵入的情况下,提供管理边缘计算应用所需的相关能力。OpenYurt 能帮用户解决在海量边、端资源上完成大规模应用交付、运维、管控的问题,并提供中心服务下沉通道,实现和边缘计算应用的无缝对接。在设计 OpenYurt 之初,我们就非常强调保持用户体验的一致性,不增加用户运维负担,让用户真正方便地 **“Extending your native kubernetes to edge”**。 + +**OpenYurt 的主要组件包括:** + +- **YurtHub**:一个节点守护程序,用作来自Kubernetes节点守护程序(Kubelet,Kubeproxy,CNI插件等)的出站流量的代理。它在边缘节点的本地存储中缓存Kubernetes节点守护程序可能访问的所有资源的状态。如果边缘节点处于脱机状态,则这些守护程序可以在节点重新启动时恢复状态。 +- **Yurt控制器管理器**:针对不同的边缘计算用例,它管理一些控制器,例如节点控制器和单元控制器(即将发布)。例如,`autonomy`即使缺少节点心跳,也不会从APIServer退出处于该模式的节点中的Pod。 +- **Yurt隧道服务器**:它`TunnelAgent`通过反向代理与在每个边缘节点中运行的守护程序连接,以在云站点控制平面和连接到Intranet(将要发布)的边缘节点之间建立安全的网络访问。 + + + +![150255_C2zj_4252687.png](imgs/边缘计算/150255_C2zj_4252687.png) + +![1.png](imgs/边缘计算/82778d252e384026ae04de63743a82c7.png) + +#### SuperEdge + +腾讯云开源,**基于原生 Kubernetes 的边缘容器管理系统。** + +云端组件: + +- [**tunnel-cloud**](https://github.com/superedge/superedge/blob/main/docs/components/tunnel_CN.md): 云端tunnel服务组件,用于建立云边长连接隧道,支持代理tcp/http/https流量 +- [**application-grid controller**](https://github.com/superedge/superedge/blob/main/docs/components/service-group_CN.md): 应用网络(serviceGroup)控制器 +- [**edge-health admission**](https://github.com/superedge/superedge/blob/main/docs/components/edge-health_CN.md): 分布式节点健康检查机制云端组件,辅助Kubernetes控制器工作 + +边端组件: + +- [**lite-apiserver**](https://github.com/superedge/superedge/blob/main/docs/components/lite-apiserver_CN.md): 节点侧轻量版apiserver shadow,代理节点组件到云端apiserver的请求,缓存关键数据以用于边缘自治 +- [**edge-health**](https://github.com/superedge/superedge/blob/main/docs/components/edge-health_CN.md): 分布式节点健康检查,用于感知边缘节点状态,支持对节点分区域检查能力 +- [**tunnel-edge**](https://github.com/superedge/superedge/blob/main/docs/components/tunnel_CN.md): 边缘tunnel服务组件,主动与tunnel-cloud建立长连接,将云端请求代理到对应的边缘服务,如:kubelet、业务pod等 +- [**application-grid wrapper**](https://github.com/superedge/superedge/blob/main/docs/components/service-group_CN.md): 应用网格流量控制组件,可将svc之间的流量闭环在同一个应用网格之中,避免跨网格访问 + +![22151946_VNrY.png](imgs/边缘计算/22151946_VNrY.png) + +#### Azure IoT Edge + +微软基于**Azure IoT Hub**构建的 IoT 服务。 + +包含三个组件: + +- **IoT Edge modules**是容器,可以运行 Azure 服务、或者你自己的代码,IoT Edge Runtime包含Moby引擎。 +- **IoT Edge runtime**在每个 IoT Edge 设备上运行,并管理部署到每个设备的模块。 +- **Cloud-based interface**可以通过基于云的界面远程监视和管理 IoT Edge 设备。 + +#### EdgeGallery + +由中国信息通信研究院、中国移动、中国联通、华为、腾讯、紫金山实.验室、九州云和安恒信息等八家创始成员发起的5G边缘计算开源项目,其目的是打造一个以“联接+计算”为特点的5G MEC公共平台,实现网络能力(尤其是5G网络)开放的标准化和MEC应用开发、测试、迁移和运行等生命周期流程的通用化。 + +开源项目:[EdgeGallery MEP](https://gitee.com/edgegallery/mep)。 MEP(Mobile Edge Platform) + +优势: `国内` `5G` + +#### DC3 + +[Gitee上的开源项目]() + +一整套的IoT解决方案 + +DC3是基于Spring Cloud的开源可分布式物联网(IOT)平台,用于快速开发、部署物联设备接入项目,是一整套物联系统解决方案。 \ No newline at end of file