天天看點

EdgeX foundry開發

邊緣計算是目前行業内的一大趨勢,當“萬物互聯”的口号喊響之後更是掀起了一片浪潮。已深度引起了雲技術人員的高度恐慌和抵制,當我在面向微服務後,不時有雲資深人士跟我說“别的産品沒有雲的存儲和網絡等優勢”,我特别想跟他們說:合入到項目的架構中,還是優勢嗎?現在基本上公司的項目都不止合入一個雲。但這都是片面的觀點,是以我就沒說。

其實,邊緣計算與雲計算可以說是相伴相生,連競争都算不上,更别說同化或異化。從網絡架構來看,雲計算是端到端,邊緣計算是物到端;從功能特性上看,差別就更大了,邊緣計算除了與裝置的資料互動外,就是為雲計算作資料服務的。

咬文嚼字到此為止,進入主題。EdgeX Foundry阿裡雲也內建在資料中心,從2010年Intel提出微服務的概念,整個業界都把它內建于資料中心,它天生的分布式特性對于資料繁雜的雲來說,是一味神藥。但我更喜歡它的智能分析和邊緣計算的特性,可能我是從事處理特殊資料的,如圖所示為EdgeX foundry的架構圖,

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

  1. pkg-config:go get github.com/rjeczalik/pkgconfig/cmd/pkg-config
  2. 安裝zeromq:可根據 https://gist.github.com/katopz/8b766a5cb0ca96c816658e9407e83d00 進行操作。
  3. 配置pkg-config環境變量:export PKG_CONFIG_PATH=/usr/local/Cellar/zeromq/4.2.5/lib/pkgconfig/
  4. 環境配置好了,就可以拉取源碼:

在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 foundry開發

到此,EdgeX開發環境配置完成,就可以進行EdgeX的開發。

繼續閱讀