數據庫
我使用的是 PostgreSQL。
使用的驅動是 github.com/lib/pq
這個網址 https://pkg.go.dev/github.com/lib/pq 是官方文檔。
創建數據表
打開 PostgreSQL 的管理工具 pgAdmin 4(web 版),創建一個數據庫:

數據庫名叫 distributed:

創建數據表
首先創建 sensor 表,里面存放傳感器信息:

列如下,其中id 是自增主鍵:

里面需要有傳感器的數據,名稱要和批處理文件中傳感器的名稱要一致。
另一個表是 sensor_reading,里面存放傳感器的數值:

安裝驅動
在項目的根目錄使用命令:go get -u github.com/lib/pq 進行安裝。
然后建立 datamanager 包,里面的文件如下:

獲得數據庫連接
先看 db.go:

這里就是獲得一個數據庫連接存放在 db 變量里,它是包內可訪問的。
存儲數據
再看 sensorreader.go,它的作用是將傳感器的數值存入到數據庫:

這個邏輯很簡單,就不介紹了。
最后在 exec 包中建立 main.go:

-
首先獲得 RabbitMQ 的連接和 Channel,然后通過 Channel 從持久化 Queue 獲得數據。
-
對數據進行解碼,存儲到數據庫中
-
如果沒有錯誤,最后使用 Ack 方法來通知 Queue 消息已經被妥善的處理了,可以將它從 Queue 里面移除了。
運行測試
運行之前的批處理文件,還要運行 datamanager:

查看數據表,里面就有數據了:

