Farseer-Go,一個模塊化的完整基礎(chǔ)設(shè)施框架
概述
- 文檔(國內(nèi))[1]
- 文檔(國外)[2]
- 開源(Github)[3]
什么是farseer-go
基于Golang模塊化完整的基礎(chǔ)設(shè)施框架,創(chuàng)建現(xiàn)代化Web應(yīng)用和APIs。
使用目前最為流行的組件,并用模塊化技術(shù)來提供這些組件。
框架完美支持 DDD領(lǐng)域驅(qū)動? 的戰(zhàn)術(shù)設(shè)計,如倉儲資源庫、應(yīng)用層事務(wù)、領(lǐng)域事件、應(yīng)用層動態(tài)WebAPI。
它有一個.net core[4] 成熟版本,已經(jīng)使用了10多年,非常棒
不用擔(dān)心框架會讓你依賴過多的包,farseer-go的組件都是獨立的包,不使用的包不會下載到您的應(yīng)用程序中
每個組件都是單獨的包,因此版本號也是單獨發(fā)布的
有什么特點?
- 統(tǒng)一配置?:所有的配置被整合到./farseer.yaml
- 優(yōu)雅:所有的模塊都遵循開發(fā)者體驗優(yōu)先為原則。
- 模塊化:供了完整的模塊化系統(tǒng),使你能夠開發(fā)可重復(fù)使用的應(yīng)用程序模塊。
- 領(lǐng)域驅(qū)動:幫助你實現(xiàn)基于DDD的分層架構(gòu)并構(gòu)建可維護的代碼庫。
- 鏈路追蹤(下個版本推出):如果您使用框架中的Orm、Redis、Http、Grpc、ES、MQ、EventBus、Task、FSS,將隱式為您實現(xiàn)鏈路追蹤,并提供API請求日志、慢查詢。
結(jié)合FOPS[5] 項目(自動構(gòu)建、鏈路追蹤控制臺、K8S集群日志收集)支持代碼無侵入的全鏈路實時監(jiān)控。
集成的組件
包名 | 描述 | 地址 |
fs | 基礎(chǔ)核心包 | |
collections | 數(shù)據(jù)集合 | |
webapi | web api服務(wù) | |
async | 異步編程 | |
mapper | 對象轉(zhuǎn)換 | |
cacheMemory | 本地緩存 | |
redis | client | |
data | 數(shù)據(jù)庫ORM | |
elasticSearch | client | |
eventBus | 事件總線 | |
queue | 本地隊列 | |
tasks | 本地任務(wù) | |
fss | 分布試調(diào)度client | |
utils | 工具集 |
如何開始
main.go
在main函數(shù)第一行,執(zhí)行fs.Initialize,開始初始化框架
運行后控制臺打印加載信息:
參考資料
[1]文檔(國內(nèi)): https://farseer-go.gitee.io/
[2]文檔(國外): https://farseer-go.github.io/doc/
[3]開源(Github): https://github.com/farseer-go/fs
[4].net core: https://github.com/FarseerNet/Farseer.Net/
[5]FOPS: https://github.com/FarseerNet/FOPS
本文轉(zhuǎn)載自微信公眾號「 程序員升級打怪之旅」,作者「王中陽Go」,可以通過以下二維碼關(guān)注。
轉(zhuǎn)載本文請聯(lián)系「 程序員升級打怪之旅」公眾號。