本篇文章由golang教程欄目給大家介紹關(guān)于遇到grpc消息過(guò)大問(wèn)題該怎么解決?希望對(duì)需要的朋友有所幫助!
php入門(mén)到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點(diǎn)擊使用
解決grpc消息過(guò)大問(wèn)題
今天前端反饋問(wèn)題,接口報(bào)錯(cuò),然后我到服務(wù)器上看到錯(cuò)誤日志提示如下:
code = ResourceExhausted desc = grpc: received message larger than max (4998958 vs. 4194304)
登錄后復(fù)制
意思是:
接收消息大于指定的值,這個(gè)值應(yīng)該是默認(rèn)的,所以需要設(shè)置自定義的值
需要在 rpc client 端設(shè)置自定義大小
func NewServiceContext(c config.Config) *ServiceContext { return &ServiceContext{ Config: c, // 此處是rpc client端,用于調(diào)用server端 ConvertRpc: convert.NewConvert(zrpc.MustNewClient(c.ConvertRpcConf, zrpc.WithDialOption(grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(1024 * 1024 * 10))))), // 設(shè)置接收消息大小 } }
登錄后復(fù)制