You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用grpc-spring-boot-starter时gRPC消息超大小限制,如何增大响应大小?

解决gRPC响应消息超过最大大小限制的问题

这个错误是因为gRPC默认的最大消息大小限制为4MB(4194304字节),而你的响应消息达到了5145024字节,超出了阈值。需要在客户端和服务端分别调整gRPC的消息大小配置:

客户端配置(grpc-spring-boot-starter)

在客户端的配置文件(application.yml或application.properties)中添加以下配置,替换your-service-name为实际的服务端名称:

YAML格式

grpc:
  client:
    your-service-name:
      negotiation-type: plaintext
      max-inbound-message-size: 10485760 # 10MB,可按需调整

Properties格式

grpc.client.your-service-name.negotiation-type=plaintext
grpc.client.your-service-name.max-inbound-message-size=10485760

max-inbound-message-size用于设置客户端允许接收的最大消息大小,单位为字节,根据实际业务需求调整数值即可。

服务端配置(grpc-spring-boot-starter)

服务端也需要同步调整消息大小限制,否则可能无法发送超出默认限制的响应。在服务端的配置文件中添加:

YAML格式

grpc:
  server:
    max-inbound-message-size: 10485760
    max-outbound-message-size: 10485760

Properties格式

grpc.server.max-inbound-message-size=10485760
grpc.server.max-outbound-message-size=10485760

max-inbound-message-size限制服务端接收的最大请求大小,max-outbound-message-size限制服务端发送的最大响应大小,两者都设置为匹配客户端的数值即可。

代码自定义Stub的配置方式

如果是手动创建ManagedChannel而非依赖自动配置,可通过代码直接设置:

ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 9090)
    .usePlaintext()
    .maxInboundMessageSize(10 * 1024 * 1024) // 10MB
    .build();

YourServiceGrpc.YourServiceBlockingStub stub = YourServiceGrpc.newBlockingStub(channel);

内容的提问来源于stack exchange,提问作者Aniket Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 03:41:32