Hello 大家好,先祝福大家新年快樂。🎉🎉🎉
AgileConfig
1.9.0
版本終於趕在農歷年前釋出了。
Mongodb
當前做為一款非常成熟的
Nosql
產品,已經有越來越多的產品或計畫基於它來構建。在
AgileConfig
開源的這幾年之間,陸陸續續收到不少同學問為啥不支持
Mongodb
。我的回答是沒有時間(懶)。一是因為確實沒有時間,二是要支持
Mongodb
這種非關系型資料庫,需要對
AgileConfig
計畫本身做比較大的重構。就在去年 12 月
AgileConfig
收到了對於
Mongodb
的支持的 PR。這是
AgileConfig
開源這幾年來收到的一個最大的 PR。往常大家都是嘴上說要這個,要那個功能,但是真正動手的聊聊無幾,收到這個 PR 的時候讓我非常欣慰。
這個 PR 當時雖然能工作,但是不夠完美。在我跟
pengqian089
同學多次溝通後決定對
AgileConfig
進行一次比較大的重構:在
RDB
與
Nosql
之間在抽象一層倉儲層。這樣對與後續擴充套件不管是
RDB
還是其他
Nosql
會更加的容易。同時為了保證計畫的可靠性,我們還改進跟添加了更多的單元測試用例。我們共同合作 2 個多月,修改了超過 170 個檔,終於有了當前這個新版本。
如何使用 Mongodb 作為儲存
要使用
mongodb
作為儲存,同樣非常簡單。
如果是本地使用編譯後執行那麽請獲取最新源碼後修改 appsettings.json 檔:
"db": {
"provider": "mongodb",
"conn": "mongodb://192.168.0.125:27017/agile_config_database"
}
如果使用 docker 執行請使用環境變量註入參數:
sudo docker run \
--name agile_config \
-e TZ=Asia/Shanghai \
-e adminConsole=true \
-e db__provider=mongodb \
-e db__conn="mongodb://192.168.0.125:27017/agile_config_database" \
-p 5000:5000 \
#-v /your_host_dir:/app/db \
-d kklldog/agile_config:latest
執行起來後使用體驗跟使用
mysql
等資料庫並無差異。
註意:請盡量使用mongodb集群作為儲存,因為單節點
mongodb
並不支持事務。
break change
如果是從老版本升級到
1.9.0
版本,那麽請註意目前
agc_sys_log
系統日誌表的主鍵 id 數據型別從原來的自增 integer 修改成了 varchar36 字元型。升級前請自行修改表結構。原因是 mongodb 不支持自增主鍵。
最後
最後再次感謝 pengqian089 同學的貢獻。也期待更多的同學能夠支持 AgileConfig, 多多使用,多多 PR。新的一年裏讓我們為 .NET 生態做更多的貢獻。
✨✨✨ Github地址:https://github.com/dotnetcore/AgileConfig 開源不易,歡迎 star ✨✨✨
演示地址:http://agileconfig-server.xbaby.xyz/ 超管帳號:admin 密碼:123456