Kitex FAQ

2022-04-27 11:04 更新

FAQ

這里列出與 Kitex 有關(guān)的常見問題。

Kitex 框架

Q: 支持 Windows 嗎?

  • 暫時沒有針對 Windows 做支持,如果本地開發(fā)環(huán)境是 Windows 建議使用 WSL2

Q: 是否支持 HTTP?

  • Kitex 不專門提供 HTTP 請求支持,CloudWeGo 后續(xù)會開源 HTTP 框架 Hertz,預(yù)計開源時間是 2022 上半年。
  • 如果是 API 網(wǎng)關(guān)場景,針對 Thrift 提供了 HTTP 映射的泛化調(diào)用,Kitex 會將 HTTP 請求做 Thrift 編碼發(fā)給服務(wù)端。

Q: 如何配置開啟連接多路復用?

  • 如果使用 Thrift 或 Kitex Protobuf ,開啟連接多路復用:服務(wù)端配置 WithMuxTransport(),調(diào)用端配置 WithMuxConnection(1)。
  • 如果使用 gRPC, 默認是連接多路復用。

Q: 本地直連場景下,配置長連接池為什么沒有生效?

  • 本地測試 ip 需要改成 127.0.0.1,如 client.WithHostPorts(“127.0.0.1:8888”)。

Q: Kitex Protobuf 和 gRPC 協(xié)議區(qū)別

  • Kitex Protobuf 是 Kitex 自定義的 Protobuf 消息協(xié)議,協(xié)議格式類似 Thrift。
  • gRPC 是對 gRPC 消息協(xié)議的支持,可以與 gRPC 框架互通。

Q: 出現(xiàn) Thrift 接口編譯問題,如 not enough arguments in call to iprot.ReadStructBegin

  • Kitex 依賴 Thrift v0.13,因為Apache Thrift v0.14 接口有 breaking change,無法直接升級。出現(xiàn)該問題是拉到了新版本的 Thrift,升級版本時建議不使用 -u 參數(shù),可以執(zhí)行命令固定版本 go mod edit -replace github.com/apache/thrift=github.com/apache/thrift@v0.13.0

Kitex 代碼生成工具

Q: 安裝代碼生成工具,出現(xiàn)了 ‘not enough arguments’ 問題

  • 請開啟go mod:GO111MODULE=on go get github.com/cloudwego/kitex/tool/cmd/kitex@latest

Q: 新增接口重新生成代碼,是否會覆蓋handler.go

  • kitex_gen/ 下的生成代碼會重新生成覆蓋,但服務(wù)端的 handler.go 不會覆蓋,只會新增對應(yīng)方法。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號