本文主要描述边缘应用相关的常见问题。

应用容器间如何通信?

边缘应用部署到网关后,每个应用将应用名称作为自身容器的网络别名(相当于域名)。因此通过访问应用名称,即可直接访问应用容器。

例如,部署一个MySQL 8.0数据库Docker镜像到边缘网关,创建应用时输入的应用名称为mysql8,其它边缘应用程序需要访问MySQL数据库服务时,数据库的IP地址填写mysql8即可。

运行在容器中的边缘应用如何访问本地设备?

可在设置边缘应用的容器配置时,打开特权模式或添加设备映射

容器应用如何持久化存储数据?

可在设置边缘应用的容器配置时,添加卷映射,将宿主机的目录映射到容器内部。此操作可保证在升级应用时,不会丢失应用的历史数据。

运行状态正常的C语言程序日志打印不出来

此问题通常和标准输出的缓存模式有关,建议将如下代码加入到main函数顶部。

if (setvbuf(stdout, NULL, _IOLBF, 0))
   {
       perror("setvbuf failed!");
       exit(EXIT_FAILURE);
   }

边缘函数计算和阿里云函数计算的区别是什么?

  • 代码托管不同:阿里云函数计算的代码运行在阿里云云服务器ECS中;边缘函数计算代码是运行在用户自己的硬件网关中。
  • 访问的目标不同:阿里云函数计算通常用于访问云服务,函数运行环境中预置了常用的阿里云服务SDK;边缘函数计算通常用于访问物联网的网关子设备,预处理和转存子设备数据,函数运行环境中预置了访问子设备信息的SDK。