盤點Golang中非常好用的幾個包
Go Kit
go-kit本身不是一個框架,而是一套微服務工具集, 它可以用來解決分布式系統(tǒng)開發(fā)中的大多數(shù)常見問題. 所以你可以專注于你的業(yè)務邏輯中。
Gingko
Ginkgo是一個 Go 測試框架,目的是幫助我們使用行為驅動開發(fā)(“BDD”)風格高效地編寫富有表現(xiàn)力和全面的測試。它有著非常良好的幫助文檔,任何人都可以輕松地在項目中集成使用它。
NSQ
實時分布式消息傳遞平臺,提供高可用性和可靠的消息傳遞保證。可以水平擴展,支付負載均衡。安裝部署非常方便。
Goose
golang中最佳的數(shù)據(jù)庫遷移包。它通過創(chuàng)建增量 SQL 更改和 Go 函數(shù)來管理數(shù)據(jù)庫結構。在golang1.16版本以上,它支持了嵌入式sql遷移。
GORM
它是一個功能齊全的 Golang 對象關系映射庫。GORM 是一種開發(fā)人員友好的工具,用于在不兼容的類型系統(tǒng)之間轉換數(shù)據(jù)。它專門設計用于在類型系統(tǒng)之間切換時最大限度地減少重寫代碼。GORM 提供 SQL 構建器、RAW SQL、自動遷移工具、用于自定義的可擴展插件。GORM 中的所有功能都帶有自己的測試,因此開發(fā)人員可以輕松地嘗試新事物,而不會使整個系統(tǒng)陷入困境。
Authboss
一個模塊化的身份驗證包,使用它你可以快速地在項目中進行身份驗證管理。它有幾個常見的身份驗證和授權模塊供開發(fā)人員選擇。
cli
cli是一個簡單快捷的命令行管理包,用于為 Golang 構建命令行應用程序。它允許開發(fā)人員開發(fā)自己的富有表現(xiàn)力的命令行應用程序。cli 用于創(chuàng)建標志、bash 完成例程并生成幫助文本。
Vegeta
Vegeta是一個用于 HTTP 負載測試的工具包。這個多功能工具專為測試具有恒定請求率的 HTTP 服務而設計。它可以有效地分析程序中的潛在問題。Vegeta 是一個始終貫穿以提高整體性能為目的的包。