亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 gcp 云功能中使用 gorillamux

在 gcp 云功能中使用 gorillamux

Go
慕容森 2022-06-21 09:53:01
我是新手Go,GCP所以我可能無法提供所有細節。但會嘗試分享我所擁有的。我已經使用 docker 設置了一個小型微服務。docker-compose 文件運行我的main方法,該方法通過gorrillamux...注冊 http 處理程序,它按預期工作。這是示例代碼func main() {    r := gorrilamux.NewRouter()    r.HandleFunc("/stores/orders/{orderID}/status", handler).Methods("GET")    http.Handle("/", r)    fmt.Printf("%+v", http.ListenAndServe(":8080", nil))}func handler(w http.ResponseWriter, r *http.Request) {    fmt.Println("------ in handler!!!")}使用此代碼,我可以在完成后調用我的服務docker-compose -up。我對此感到困惑的是,我將如何使用這個 gorrilla mux 在 goocle 云功能中路由我的呼叫?根據我的理解,對于 GCP CF,我會告訴入口點是什么方法,即,gcloud functions deploy service-name <removing_other_details> --entry-point handler每當handler收到每個請求時都會調用它,它不會是ListenandServce. 那么我該如何使用gorillamux呢?我最終想要做的是從傳入請求中提取路徑變量。一種方法是使用字符串操作并從request對象中獲取路徑變量。但這可能容易出錯。所以我想我是否可以使用 gorilla mux 來處理這些事情。有任何想法嗎
查看完整描述

2 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

Google Cloud Functions 用于執行基于觸發器(如 HTTP 或另一個 GCP 服務器到服務器觸發器)的單一用途函數。你的 go 服務看起來更像是一個 HTTP 服務器,而不是一個單一的函數。

如果你想用 Cloud Functions 建立一個微服務架構,你要做的是創建一堆不同的函數,主要由 HTTP 觸發(每個函數都會自動分配不同的 HTTP 地址),然后從你的應用程序中調用它們而不需要任何外部 HTTP 路由器。

如果您想擁有一個分布式微服務(每個服務共享相同的 URL,但在 URL 中具有不同的端點),您需要查看可以在其中部署服務器的Appengine 。您可以使用教程開始使用 Google Appengine


查看完整回答
反對 回復 2022-06-21
?
呼如林

TA貢獻1798條經驗 獲得超3個贊

除了 PoWar 答案,我建議您使用 Cloud Run 而不是 App Engine。Cloud Run 在與 Cloud Functions 相同的底層基礎架構上運行,并且許多功能相似。

此外,Cloud Run 使用容器,這是當前最流行的打包應用程序的最佳實踐之一。您可以Dockerfile文檔中使用這樣的標準,然后使用 docker 構建?;蛘?Cloud Build,如果你還沒有安裝 docker

gcloud builds submit -t gcr.io/PROJECT_ID/containerName

或者,如果您不想編寫或自定義您的 alpha 功能,您甚至可以使用Dockerfile,這是基于 buildpack

gcloud alpha builds submit --pack=image=gcr.io/PROJECT_ID/containerName

然后在 Cloud Run 上部署您的映像

gcloud run deploy --image=gcr.io/PROJECT_ID/containerName --platform=managed --region=yourRegion myService



查看完整回答
反對 回復 2022-06-21
  • 2 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號