Releases: Chaintable/nodex-proxy
Releases · Chaintable/nodex-proxy
Release list
v1.1.17-rc1
What's Changed
- fix: four P0 stability issues (fatal map write, mirror race, ghost nodes, lost etcd events) by @recursion128 in #77
- feat: collect usage for invoking leafage by @0byteme in #78
Full Changelog: v1.1.15...v1.1.17-rc1
v1.1.15
v1.1.15-rc2
v1.1.14
v1.1.13
v1.1.12
修复上游连接复用,消除高负载下的建连风暴与 502
高负载下 proxy 对 RPC 后端建立过多连接,击穿后端 accept 队列导致 502。本版本从根因修复连接复用。
主要改动
- 共享上游 client:所有节点的 reverse proxy 共用一个 hertz client,连接池按 host 存活,节点刷新(etcd PUT)不再丢弃热连接、不再引发重建风暴。
- 恢复超时生效:删除从未被使用的 http.Transport 死代码,
rpc_method_timeout_config/default_rpc_timeout通过请求级 ReadTimeout 真正生效。 - 节点原地更新:UpsertNode 对同 key/addr/source/type 的节点原地更新权重与状态,保留 ReverseProxy。
- mirror 连接复用:mirror client 配置连接池并读完响应体后再关闭,避免每请求新建连接。
- 新增连接池配置:
conn_max_idle_duration/conn_max_wait_timeout/conn_dial_timeout;connection_pool_size语义改为 hertz 每后端 host 最大连接数。
灰度验证(v1.1.12-rc1,承接 1/6 生产流量约 26h)
- 502 占比 0.0259% → 0.0009%(降 29 倍)
- 后端连接 churn(TIME_WAIT):每秒主动关闭 ~5 → ~1 条(降 6 倍)
- p50/p99 延迟与旧版一致(本修复不改变常规延迟,目标是消除 502 与连接 churn)
⚠️ 部署配置变更(必读)
connection_pool_size 语义已变为"每后端 host 最大连接数"。线上 configmap 现值 8000 会击穿 leafage max_connections=5000 上限,升级时必须改为 256(6 pod × 256 = 1536,占后端上限 30%)。
default_rpc_timeout(默认 5000ms)从本版本起真正生效,历史上耗时 >5s 仍成功的慢请求会被截断。建议为重方法配置 rpc_method_timeout_config(如 contractMultiCall/simulateTransactions: 9000),并观察 calls_failed{reason="upstream_gateway_timeout"}。
Release v1.1.11
What's Changed
Full Changelog: v1.1.10...v1.1.11
Release v1.1.10
What's Changed
- Refresh docs for new config layout by @wangchengao in #69
- feat: specify archive node through http header by @0byteme in #70
New Contributors
Full Changelog: v1.1.9...v1.1.10
Release v1.1.9
What's Changed
Full Changelog: v1.1.8...v1.1.9