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