Q3# ZK集群内存过高风险评估

瓜农老梁

共 1251字,需浏览 3分钟

 ·

2021-10-12 17:04

引言

该方案在国庆期间未被执行,在节后集群顺利完成升级,记录下来留个纪念。

一、背景

在集群升级发生了Leader选举和切换,当前时期集群处于不稳定,客户端连接的节点有倾斜。有两个节点x.x.x.88和x.x.x.15内存使⽤率过⾼,需要评估其能否扛得住。由于未全部完成升级,除了节点x.x.x.122和节点x.x.x16高配机(32C64G)外,其他均为低配机(4C8G)。


二、风险分析

集群架构

注册中心由9台ZK节点构成,为了分担直接连接Leader节点的连接压力,通过域名分成三组,写操作由其内部转发到Leader操作。

服务注册域名组

x.x.x.15内存使⽤率为73%

x.x.x.89内存使⽤率41%

x.x.x.45使⽤率27%

结论:该组均为低配节点,如果节点不能提供服务(FULL GC、挂掉、假死等)重连到其他节点,该组在极限值如果⼤部分连接到x.x.x.89可能导致该节点不可⽤,再全部重连到x.x.x.45,导致整个soazk配置的域名不可⽤。

该组是存在风险最大的一组:

  • 经过两天观察运行平稳,缓存x.x.x.15节点尚有25%空间,不可用概率较低
  • 当x.x.x.15节点不可用,全部冲跨剩余节点的概率也较低
  • 该组域名为负责注册,按照当前故障演练测试情况来看,即使全部挂掉服务能正常调用

服务发现域名组

节点x.x.x.16内存使用率78%

节点x.x.x.46内存使用率27.4%

节点x.x.x.16内存使用率12%

结论:节点x.x.x.88内存使⽤率78%,x.x.x.46使⽤率为27.5%,其中x.x.x.16为⾼配机(32C64G)使⽤率为12%,⼀旦x.x.x.88节点不能提供服务(FULL GC、挂掉、假死等)剩余两个节点能够扛得住客户端的重新连接。

配置域名组

节点x.x.x.122内存使用率11.2%

节点x.x.x.47内存使用率20.2%

节点x.x.x.47内存使用率20.2%

![image-20210929141418872](/Users/yongliang/Library/Application Support/typora-user-images/image-20210929141418872.png)

结论:配置域名集群无风险。

备注:当前风险较大集中在注册域名组节点,但是发生的不可用的概率较小,所以以观察为主,节后低峰期再处理。

二、应急预案

1.告警与观测

做好告警设置和观察,特别监控内存使用率在90%时,申请执行应急预案。内存约在使用超过95%执行该预案

2.应急操作

定向爆破

步骤操作过程
1将节点高风险域名指向高配机器x.x.x.122
2下线该高风险节点迫使客户端触发重连
3升级该高风险节点为高配机

备注:其他节点均以此轮换进行。


浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报