引言
该方案在国庆期间未被执行,在节后集群顺利完成升级,记录下来留个纪念。
一、背景
在集群升级发生了Leader选举和切换,当前时期集群处于不稳定,客户端连接的节点有倾斜。有两个节点x.x.x.88和x.x.x.15内存使⽤率过⾼,需要评估其能否扛得住。由于未全部完成升级,除了节点x.x.x.122和节点x.x.x16高配机(32C64G)外,其他均为低配机(4C8G)。
![5ca6cfb6c3d19bec505e6b85991c416a.png](https://i-blog.csdnimg.cn/blog_migrate/1a2ca454d94cb8c7f10a411f2be6dcc9.png)
二、风险分析
集群架构
注册中心由9台ZK节点构成,为了分担直接连接Leader节点的连接压力,通过域名分成三组,写操作由其内部转发到Leader操作。
![ceea33be03eaeef6beef4dcd40eacbce.png](https://i-blog.csdnimg.cn/blog_migrate/a1b83ce13203f189ec4cbdecd10676b5.png)
服务注册域名组
x.x.x.15内存使⽤率为73%
![383137b61504c6ad69ea43956a99521a.png](https://i-blog.csdnimg.cn/blog_migrate/b61ad9b48718d479b3e83559255f749a.png)
x.x.x.89内存使⽤率41%
![dbfd504c2f9c439ef37720314586aea7.png](https://i-blog.csdnimg.cn/blog_migrate/48fb9aeab6e42f0040bff6430f817a28.png)
x.x.x.45使⽤率27%
![0feeeb0ec6cf0f2a576b8d7ddb2acf32.png](https://i-blog.csdnimg.cn/blog_migrate/1dd3d60d4ecfdd86ef90aeed83f54812.png)
结论:该组均为低配节点,如果节点不能提供服务(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%
![102f05e0f158d2f489d65b2a8546549a.png](https://i-blog.csdnimg.cn/blog_migrate/096118e2f6fe0613bb9e8d211abf2ae8.png)
节点x.x.x.46内存使用率27.4%
![adcdc318023dcda5cfe91e6f0617299a.png](https://i-blog.csdnimg.cn/blog_migrate/07ab516e92f2c4a662696e44b09adbc2.png)
节点x.x.x.16内存使用率12%
![8fe7b73040415b317ad35c3ce332e3cb.png](https://i-blog.csdnimg.cn/blog_migrate/6ba8232b804e79bb70e415cfd5e6907e.png)
结论:节点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%
![9a59d0bb7bec2afce8ef2dc5f921790b.png](https://i-blog.csdnimg.cn/blog_migrate/348c5abee21c3ec3111f26a37cf509da.png)
节点x.x.x.47内存使用率20.2%
![3054c1c96f73a16ec7f89fbaf350ca5d.png](https://i-blog.csdnimg.cn/blog_migrate/b48338f7e37b5e38f9889ff54f9e806c.png)
节点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 | 升级该高风险节点为高配机 |
备注:其他节点均以此轮换进行。