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