Heim >Backend-Entwicklung >Golang >Golang grpc-Nachricht zu groß? Bringen Sie Ihnen bei, wie Sie das Problem schnell lösen können!

Golang grpc-Nachricht zu groß? Bringen Sie Ihnen bei, wie Sie das Problem schnell lösen können!

藏色散人
藏色散人nach vorne
2022-12-07 15:45:425817Durchsuche

Dieser Artikel wurde in der Kolumne „Golang-Tutorial“ verfasst, um Ihnen vorzustellen, wie Sie das Problem übermäßiger GRPC-Nachrichten lösen können. Ich hoffe, es hilft den Bedürftigen!

Golang grpc-Nachricht zu groß? Bringen Sie Ihnen bei, wie Sie das Problem schnell lösen können!

Das Problem zu großer GRPC-Nachrichten lösen

Heute gab es ein Front-End-Feedback-Problem, die Schnittstelle meldete einen Fehler, und dann ging ich zum Server und sah die Fehlerprotokollaufforderung wie folgt:

code = ResourceExhausted desc = grpc: received message larger than max (4998958 vs. 4194304)

bedeutet:

Die empfangene Nachricht ist größer als der angegebene Wert. Dieser Wert sollte der Standardwert sein, daher müssen Sie einen benutzerdefinierten Wert festlegen

Sie müssen auf der RPC-Client-Seite eine benutzerdefinierte Größe festlegen

func NewServiceContext(c config.Config) *ServiceContext {
    return &ServiceContext{
      Config:      c,
     // 此处是rpc client端,用于调用server端
      ConvertRpc: convert.NewConvert(zrpc.MustNewClient(c.ConvertRpcConf, zrpc.WithDialOption(grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(1024 * 1024 * 10))))),         // 设置接收消息大小
    }
}

Das obige ist der detaillierte Inhalt vonGolang grpc-Nachricht zu groß? Bringen Sie Ihnen bei, wie Sie das Problem schnell lösen können!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen