要理解边缘计算,首先要明白它的对立面:云计算。
云:是一种 IT 环境,可以抽象、汇集和共享整个网络中的 IT 资源。
云计算:把所有数据从设备(手机、传感器、摄像头等)通过网络传输到遥远的、集中式的云端数据中心进行处理和存储,然后再把结果传回来。
缺点:延迟高(反应慢)、带宽消耗大(传输视频等大量数据很费流量)、隐私性(所有数据都上传了)。
边缘:是网络边缘的计算位置,以及这些物理位置上的硬件和软件。
边缘计算:是在边缘设备上运行工作负载。
将计算、存储和分析能力从中心化的云端下沉到更靠近数据产生源头(设备)的地方。这个“地方”就是网络的“边缘”。
原本所有问题都要去“中央大脑”(云)解决,现在给各个地方配备了“本地小脑”(边缘节点),简单的问题就地解决,复杂的问题再上报给中央大脑。
边缘设备可以是云的组成部分,如果这些设备在网络端点上提供的存储和计算能力经抽象、汇集并在网络中共享,那么本质上它们就成了更大的云基础架构的一部分。
但边缘计算不是云的一部分。边缘计算之所以能发挥巨大作用,是因为它有意地与云和云计算分离开来。
我们是这样理解这些概念的:
边缘(位置)和边缘计算(作用)不是一回事。在网络边缘收集数据,在几乎不修改它们(如果有)的情况下将它们传输至云端,这不是边缘计算,这只是联网。
但是,如果数据是在边缘收集并进行处理,那就是边缘计算。
边缘计算之所以与云分离,主要有两个原因:
简单比喻:
Node.js 因其独特的特性,成为了实现边缘计算的绝佳选择。
如何用 Node.js 实现边缘计算(实践场景)
假设一个智能工厂的场景:边缘服务器需要实时分析摄像头视频,检测产品缺陷。
[高清摄像头] ----(原始视频流)----> [边缘服务器 (运行Node.js应用)] ----(仅缺陷警报)----> [云端数据中心]
|
|---(本地处理和分析)
|---(实时响应:控制机械臂剔除次品)