修改ETCD返回数据限额

问题

通过 get_prefix, get_range 等ETCD 接口查询大量数据时,报数据大小超过限额。

grpc_message:"Received message larger than max (5834875 vs. 4194304)"

原因

ETCD默认设置了4MB数据限额,如果返回的数据超过限额则会报错。

解决方法

解决方法也很直接,修改数据限额。

但问题是要修改哪一个参数?参数的格式?如何修改?

为了寻找找到答案,费了不少周折。因为用的是 ETCD Python 客户端,常见的 golang 方案不适用,网上 Python 客户端的文章也非常少。

功夫不负有心人,总于找到了答案。

  1. 参数是与 grpc 接收消息长度有关,名称为 grpc.max_receive_message_length;
  2. 在Python客户端,是在建立ETCD client的时候,通过 grpc_options 参数传递;
  3. grpc_options 的格式是 dict_items, 可以这样定义:

grpc_options = {'grpc.max_receive_message_length':1610241024}.items()

相关推荐
2401_8480097227 分钟前
Redis零基础入门学习
数据库·redis·学习
NEXT0628 分钟前
2026 技术风向:为什么在 AI 时代,PostgreSQL 彻底成为了全栈工程师的首选数据库
前端·数据库·ai编程
hzc098765432132 分钟前
MySQL大小写敏感、MySQL设置字段大小写敏感
数据库·mysql
w***298532 分钟前
MySql中的事务、MySql事务详解、MySql隔离级别
数据库·mysql·adb
喵手38 分钟前
Python爬虫实战:小红书热门笔记爬虫实战 - 搜索关键词驱动的内容采集指南!
爬虫·python·爬虫实战·零基础python爬虫教学·小红书热门笔记·搜索关键词·采集小红书热门笔记数据
zhanglinping6191 小时前
MySQL——内置函数
android·数据库·mysql
m***78741 小时前
mysql之字符串函数
android·数据库·mysql
l1t1 小时前
DeepSeek总结的Postgres 查询中的读取效率问题
数据库·postgresql
nita张1 小时前
战略定位实战:案例分享与经验总结
大数据·人工智能·python
whn19771 小时前
【达梦】-544: 超出全局排序空间,请调整SORT_BUF_GLOBAL_SIZE、SORT_BUF_SIZE、SORT_BLK_SIZE
数据库