边缘计算是目前行业内的一大趋势,当“万物互联”的口号喊响之后更是掀起了一片浪潮。已深度引起了云技术人员的高度恐慌和抵制,当我在面向微服务后,不时有云资深人士跟我说“别的产品没有云的存储和网络等优势”,我特别想跟他们说:合入到项目的架构中,还是优势吗?现在基本上公司的项目都不止合入一个云。但这都是片面的观点,所以我就没说。
其实,边缘计算与云计算可以说是相伴相生,连竞争都算不上,更别说同化或异化。从网络架构来看,云计算是端到端,边缘计算是物到端;从功能特性上看,区别就更大了,边缘计算除了与设备的数据交互外,就是为云计算作数据服务的。
咬文嚼字到此为止,进入主题。EdgeX Foundry阿里云也集成在数据中心,从2010年Intel提出微服务的概念,整个业界都把它集成于数据中心,它天生的分布式特性对于数据繁杂的云来说,是一味神药。但我更喜欢它的智能分析和边缘计算的特性,可能我是从事处理特殊数据的,如图所示为EdgeX foundry的框架图,

EdgeX Foundry v1.x与v2.0最大的区别就是把Export Services改成了Application Services,当然,仅指框架图,在代码上还是有很大的变化的,比如,v2.0使用采用的apache 2.0协议等,理论知识,这就不细说了。我是从v2.0开始开发的,可能与v1.x会有些区别,大家若有意见可以留言或去查看EdgeX Foundry的Wiki。
根据EdgeX的要求,先安装Golang环境:
$wget https://studygolang.com/dl/golang/go1.16.6.linux-amd64.tar.gz
$tar -xvf go1.16.6.linux-amd64.tar.gz
大家安装的时候可以先进入官网去查找自己觉得好的版本,我可能完美主义倾向太重了,只喜欢最好或最新的。
设置环境变量
$sudo vim /etc/profile
添加
export GOROOT=/data/work/go
export GOPATH=/data/work/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
esc->:wq!
使其生效
source /etc/profile
- pkg-config:go get github.com/rjeczalik/pkgconfig/cmd/pkg-config
- 安装zeromq:可根据 https://gist.github.com/katopz/8b766a5cb0ca96c816658e9407e83d00 进行操作。
- 配置pkg-config环境变量:export PKG_CONFIG_PATH=/usr/local/Cellar/zeromq/4.2.5/lib/pkgconfig/
- 环境配置好了,就可以拉取源码:
在gopath里建立3个文件夹mkdir src bin pkg
进入src建立github.com文件夹,进入github.com拉取源码:
git clone [email protected]:edgexfoundry/edgex-go.git
cd edgex-go
make build
启动EdgeX:make run,如下图所示:
到此,EdgeX开发环境配置完成,就可以进行EdgeX的开发。