心跳时间设置

  • nebula 版本:2.6.1
  • 部署方式:分布式
  • 安装方式:RPM
  • 是否为线上版本:Y
  • 硬件信息
    • 磁盘 SSD
    • CPU、内存信息 4Core 16G
  • 问题的具体描述

生产环境的心跳时间设置有建议的值吗?默认10秒感觉有点长,schema更改后要20s后才能生效,用户可能无法接受。如果设置成1s,会有什么副作用吗

心跳目前主要会影响如下内容:

  1. schema 元数据同步
  2. 探测进程是否正常

如果心跳太小,网络抖动可能会影响 storage 进程的状态维护,比如触发新的 leader 选举,期间服务的某些请求可能不能正常返回,报 LEADER CHANGE。

如果是源数据同步的问题,目前 12.30 这个版本正在解决这个问题,采用的是通过 PUB/SUB 的方式让各个 meta client 订阅 schema 的更新,可以近实时的刷新本地的 cache。

源数据更新的不及时的问题主要是刷新了 meta 数据之后没有立即刷新本地 cache 而必须等待心跳时间刷新导致的。因为后续方案采用了上述的方式,就没有再提交类似的修改。

目前 nebula 的 CI 系统中是设置的 1s,不过是在单机环境下,具体的数值,还是需要根据集群的状态做些验证。

3 个赞

12.30这个版本是3.0吗

嗯,是的,不过正式发布时间是春节之后。1230 只是不会再进 pr 了接下来一段时间是测试时间

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。