Go:具有共享程式碼的微服務的儲存庫佈局
Go是一種強大的程式語言,近年來在微服務架構中越來越受歡迎。它的簡潔性、高效性和並發性使其成為建立高效能應用程式的理想選擇。在使用Go建構微服務時,儲存庫的佈局是一個重要的考慮因素。在本文中,php小編香蕉將介紹一種具有共享程式碼的微服務儲存庫佈局,幫助您更好地組織和管理程式碼。
問題內容
我們最近開始使用 go 來開發新的微服務。每個微服務都是一個 go 模組,我們將它們作為單一儲存庫來管理:
/ services/ s1/ go.mod main.go s2/ go.mod main.go
這工作正常,但現在我們需要在 s1
和 s2
之間共享一些程式碼 - 兩個服務使用的一些結構、上傳到 s3 的函數等。
處理這種情況的正確方法是什麼?理想情況下,我在儲存庫根目錄中有一個common
目錄(services
的同級目錄)並將公共程式碼放在那裡- 但是在編譯s1
和s2
時,go 將如何從那裡取得程式碼?
解決方法
我認為你所問的實際上只是「如何建立 go 應用程式以產生多個二進位檔案?」。
您可以將 go.mod
移至頂層目錄重新命名,以便您擁有以下佈局:
. ├── common │ └── common.go ├── go.mod └── services ├── s1 │ └── main.go └── s2 └── main.go
還有一個 go.mod
,其開頭類似:
module mymodule
如果 common/common.go
看起來像這樣:
package common func commonfunction() string { return "this is a common function" }
然後在services/s1/main.go
中,可以導入common
模組:
package main import ( "mymodule/common" "fmt" ) func main() { res := common.commonfunction() fmt.println(res) }
您將像這樣建構 s1
服務:
go build ./services/s1
建置 s2
類似:
go build ./services/s2
您通常會有一個頂級 makefile
來自動建置多個服務。
以上是Go:具有共享程式碼的微服務的儲存庫佈局的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

是的,H5頁面製作是前端開發的重要實現方式,涉及HTML、CSS和JavaScript等核心技術。開發者通過巧妙結合這些技術,例如使用<canvas>標籤繪製圖形或使用JavaScript控制交互行為,構建出動態且功能強大的H5頁面。

CSS自定義resize符號的方法與背景色統一在日常開發中,我們經常會遇到需要自定義用戶界面細節的情況,比如調...

如何使用JavaScript或CSS控制瀏覽器打印設置中的頁首和頁尾在瀏覽器的打印設置中,有一個選項可以控制是否顯�...

關於inline-block元素錯位顯示的原因及解決方案在編寫網頁佈局時,我們常常會遇到一些看似奇怪的顯示問題。比...

如何實現分段器的45度曲線效果?在實現分段器的過程中,如何讓點擊左側按鈕時右側邊框變成45度曲線,而點�...

實時比特幣美元價格 影響比特幣價格的因素 預測比特幣未來價格的指標 以下是 2018-2024 年比特幣價格的一些關鍵信息:
