W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
目前,Kitex 支持了 thrift 和 protobuf 兩種編解碼協(xié)議。
Kitex 支持了 Thrift 的 Binary 協(xié)議,暫時沒有支持 Compact 協(xié)議。
生成代碼時指定 thrift 協(xié)議,也可以不指定,默認(rèn)就是 thrift:
kitex -type thrift ${service_name} ${idl_name}.thrift
kitex -type thrift -service ${service_name} ${idl_name}.thrift
我們針對 thrift 的 binary 協(xié)議編解碼進(jìn)行了優(yōu)化,具體優(yōu)化細(xì)節(jié)參考 “Reference - 高性能 Thrift 編解碼 " 篇章,假如想要關(guān)閉這些優(yōu)化,生成代碼時可以加上 ?-no-fast-api
? 參數(shù)。
Kitex 對 protobuf 支持的協(xié)議有兩種:
如果 IDL 文件中定義了 streaming 方法則走 gRPC 協(xié)議,否則走 Kitex Protobuf。沒有 streaming 方法,又想指定 gRPC 協(xié)議,需要 client 初始化做如下配置(server 支持協(xié)議探測無需配置) :
// 使用 WithTransportProtocol 指定 transport
cli, err := service.NewClient(destService, client.WithTransportProtocol(transport.GRPC))
只支持 proto3,語法參考 https://developers.google.com/protocol-buffers/docs/gotutorial
注意:
生成代碼時需要指定 protobuf 協(xié)議:
kitex -type protobuf -I idl/ idl/${proto_name}.proto
kitex -type protobuf -service ${service_name} -I idl/ idl/${proto_name}.proto
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: