第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

gRPC 服務器和客戶端應該在同一個存儲庫中嗎?

gRPC 服務器和客戶端應該在同一個存儲庫中嗎?

Go
人到中年有點甜 2022-04-26 14:53:16
我正在使用 Go 使用 gRPC 服務器,我了解 gRPC/Protobuf 的好處之一是您可以使用它通過使用服務器代碼中使用的相同消息/服務 API 輕松創(chuàng)建客戶端庫.如果我正在為我的服務實現一個客戶端庫,它顯然需要導入服務代碼和 API,所以我最終會有一個服務、一個服務器和一個客戶端組件。在生產級代碼中 - 所有這些組件是否應該存在于同一個存儲庫中并且僅由 go 包分隔?該服務是否應該是它自己的存儲庫并作為任何希望為該服務實現服務器/客戶端庫的人的依賴項?
查看完整描述

2 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

所有這些組件是否應該存在于同一個存儲庫中并且僅由 go 包分隔?

各種 gRPC 組件不需要都存在于同一個 repo 中。

該服務是否應該是它自己的存儲庫并作為任何希望為該服務實現服務器/客戶端庫的人的依賴項?

我使用以下回購組織:

  • myapp-proto(通用倉庫;客戶端和服務器都標記和使用的 git)

  • 我的應用程序客戶端

  • 我的應用服務1

  • 我的應用服務2

  • 我的應用服務3

例如,從各種數據源(REST API、MySQL、LDAP 等)中提取數據的幾個 gRPC 服務——這些服務器 gRPC 服務中的每一個都存在于它們自己的存儲庫中。有一個 gRPC 客戶端包也存在于它自己的存儲庫中。為了保持變更控制的健全,通用proto定義(和生成的 go 代碼)存在于單獨的單個 repo 中。

上述設置利用git 版本標記go 模塊來確??蛻舳撕退蟹掌鞫际褂眉嫒莅姹镜?gRPC 消息/服務。向 gRPC 添加方法/字段proto可以獨立于客戶端/服務器部分完成 - 并在成熟時分階段進行。


查看完整回答
反對 回復 2022-04-26
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

根據我的經驗,最好的方法是將原型定義和生成的文件保存在服務器上。我通常將它們放入{SERVER}/pkg/grpc,然后{CLIENT}/internal/services/{SERVER}/grpc根據您的項目結構將它們導入客戶端或類似的東西。



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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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