AgileConfig-1.9.0 發佈,支持 MongoDB 存儲

Hello 大家好,先祝福大家新年快樂。🎉🎉🎉 AgileConfig 1.9.0 版本終於趕在農曆年前發佈了。
Mongodb 當前做爲一款非常成熟的 Nosql 產品,已經有越來越多的產品或項目基於它來構建。在 AgileConfig 開源的這幾年之間,陸陸續續收到不少同學問爲啥不支持 Mongodb。我的回答是沒有時間(懶)。一是因爲確實沒有時間,二是要支持 Mongodb 這種非關係型數據庫,需要對 AgileConfig 項目本身做比較大的重構。就在去年 12 月 AgileConfig 收到了對於 Mongodb 的支持的 PR。這是 AgileConfig 開源這幾年來收到的一個最大的 PR。往常大家都是嘴上說要這個,要那個功能,但是真正動手的聊聊無幾,收到這個 PR 的時候讓我非常欣慰。
這個 PR 當時雖然能工作,但是不夠完美。在我跟 pengqian089 同學多次溝通後決定對 AgileConfig 進行一次比較大的重構:在 RDBNosql 之間在抽象一層倉儲層。這樣對與後續擴展不管是 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

關注我的公衆號一起玩轉技術

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章