python - gRPC 客户端选项会覆盖服务器选项吗?
问题描述
我在 python API 中实现了一个 gRPC 服务器,并在其上设置了几个选项,如下所示:
options=[
('grpc.max_send_message_length', 500 * 1024 * 1024),
('grpc.max_receive_message_length', 500 * 1024 * 1024),
('GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA', 0),
('grpc.keepalive_time_ms', 300000),
]
server = grpc.server(futures.ThreadPoolExecutor(max_workers=4), options=options)
我们将默认消息长度从默认的 4 MB 增加到 500 MB。我的一位用户看到以下错误:
io.grpc.StatusRuntimeException: RESOURCE_EXHAUSTED: gRPC message exceeds maximum size 4194304: 5224306
我想弄清楚的是客户端设置是否可能覆盖我的服务器设置?
否则,我在消息长度上设置服务器选项的方式有问题吗?
解决方案
客户端和服务器上的grpc.max_{send,receive}_message_length
选项在每一端本地强制执行,彼此独立。因此,例如,grpc.max_receive_message_length
无论服务器设置如何,客户端都需要像您在此处设置一个数字来接受服务器发送的大消息。
推荐阅读
- php - laravel 多对多多键
- javascript - 我想使用我的 Button 组件将 id 应用于我的元素
- python-3.x - 串行写入字节列表
- python - 是否有根据数据类型为变量着色的 Jupyter 主题?
- c++ - 如何使用 IPC(Unix 域套接字)在 Node.js(首选 Express 模块)服务器和 C++ 应用程序之间进行本地通信
- html - 使用 Bootstrap 条带表而不添加 class="table table-striped"
- node.js - 猫鼬 | 按填充项目数组中的字段数组搜索
- scala - 是否可以使用模式注册表将 Avro 消息转换为 scala 案例类?
- javascript - 如何在 Ace 编辑器中启用搜索框?
- flyway - Flyway 初始化新数据库