软件架构设计立足于硬件条件,脱离硬件条件的软件架构设计都是空谈。
Fox-Edge在设计阶段,边缘端设备的主流硬件为 4G内存,而且每两年翻一番。
所以Fox-Edge在设计阶段,以4G内存为基准硬件规格,然后采用的是积木式架构设计,并选择使用JAVA作为开发语言。 实际上,最终的验证和测试,效果也比较理想。
但是,市场上还有不少ARM类型的嵌入式设备和工控机,它们只有4G内存条件下,既然无法开启SWAP,扩充内存时成本又太高, 然后,这部分用户又想部署更多的Fox-Edge服务。
对于这个资源、需求、成本的矛盾中,灵狐提供了一个 Compose版 的优化方案,来解决这个问题。
Fox-Edge的 标准版 ,包括下列相关的部分微服务
负责接入和认证能力
负责配置全局配置管理
负责周期性任务的采集
负责数据的持久化保存
负责周期快照的生成
上述五个服务,是非常常用的基础性服务,组合服务(manager-compose) ,将上述五个微服务的内部功能模块, 合并成为一个大的单体服务,那么就可以节省四个服务进程的内存空间。
同等功能和负荷条件下,标准版的Fox-Edge系统,内存占用1.85G;组合版的Fox-Edge系统,减少了四个服务,内存占用减少到0.88G。
组合版比标准版,内存使用量节省了1G内存空间。
这意味着,在小型化的ARM设备上,能够部署更多的其他功能服务。
任何方案都具有两面性,组合版同样如何,它存在如下局限性
因为manager-compose被组合成为了一个大的单体服务,被它组合的服务,不再具有微服务的特性。
也就是说,它只能用在ARM类型的嵌入式设备和工控机场景下。
它的内存占用率大幅度降低了(大约1G内存),但是由于五个模块都使用一个公共的底层网络引擎,无法发挥出多核CPU的并发能力,它们的吞吐能力下降了一倍。
所以它只能使用在低负荷环境,或者低吞吐的环境。
也就是说,它只能用在ARM类型的嵌入式设备和工控机场景下。
如果你想要高吞吐能力,还是使用Fox-Edge默认的标准版。
如果你已经充分了解了上面的约束条件,那么就可以使用Fox-Edge的compose版了
请到灵狐云端的页面下载Fox-Edge最新的初始安装包,默认的账号/密码:Fox-Edge-Public/12345678
Fox-Edge安装包下载
#切换目录
cd /home
#下载Fox-Edge安装包:最新版本,可到[云端仓库](http://cloud.fox-tech.cn) 查询
wget -c http://repository.fox-tech.cn/system/fox-edge-compose/v1/1.0.1/fox-edge-compose-20240825223459.gz
#解压安装包
tar -xzvf fox-edge-compose-20240825223459.gz
#移动目录
mv fox-edge /opt
另一种安装方式
除了上面的默认安装方式,灵狐还提供了通过 Git 从 GitEE 仓库进行一键式安装的快捷方式,而且 GitEE 的网速比较快。
下面以通过以Ubuntu 22.0版本作为范例,进行快捷安装。
mv /opt/fox-edge /opt/fox-edge-$(date +%Y%m%d-%H%M%S) 2>/dev/null
git clone https://gitee.com/fierce_wolf/fox-edge-compose.git /opt/fox-edge && \
chmod +x /opt/fox-edge/shell/*.sh && \
cp /opt/fox-edge/doc/nginx/conf.d/fox-edge.com.ipadr.conf /etc/nginx/conf.d && \
nginx -s reload && \
mysql -u root -p12345678 mysql < /opt/fox-edge/sql/init.sql;
除了安装包跟标准版不同,它的安装和使用方式,基本跟标准版相同。
具体的安装过程,可以参考标准版