首页 > 应用开发 > IT综合 > Heartbeat Score的计算-
0.资源要切换不再以单个资源的分数来比较. 而是以该资源组的N个资源SCORE之和,我们下面称它为
NodeX.all.score=mysqlX.resource1.score+ .... + mysqlX.resourceN.score
例1: default-resource-stickiness=100 default-resource-failure-stickiness=-100 mysql4.ipaddr.score=150 mysql3.ipaddr.score=200 mysql4.mysql.score=350 mysql3.mysql.score=400 | |||||||||
| SCORE | Resource Status | Action | MEMO | ||||||
| mysql3.ipaddr | mysql4.ipaddr | mysql3.mysql | mysql4.mysql | mysql3.all | mysql4.all | mysql3.status | mysql4.status | ||
| 400 | 150 | 600 | 350 | 1000 | 500 | Ipaddr/mysql | Start | ||
| 400 | 150 | 500 | 350 | 900 | 500 | Ipaddr/mysql | mysql stop | ||
| 400 | 150 | 400 | 350 | 800 | 500 | Ipaddr/mysql | mysql stop | ||
| 400 | 150 | 300 | 350 | 700 | 500 | Ipaddr/mysql | mysql stop | ||
| 400 | 150 | 200 | 350 | 600 | 500 | Ipaddr/mysql | mysql stop | mysql4.mysql.score > mysql3.mysql.score ,但未发生切换. 因为综合分还相等. | |
| 400 | 150 | 100 | 350 | 500 | 500 | Ipaddr/mysql | mysql stop | ||
| 400 | 150 | 0 | 350 | 400 | 500 | 这段是过渡的计算,mysql3.all < mysql4.all ,需要切换 | |||
| 200 | 350 | -200 | 550 | -100000 | 900 | Ipaddr/mysql | mysql3两个资源都切换了,所以都减200 | ||
| 例2: default-resource-stickiness=0 default-resource-failure-stickiness=-100 mysql4.ipaddr.score=375 mysql3.ipaddr.score=400 mysql4.mysql.score=775 mysql3.mysql.score=800 | |||||||||
| 这样配,只要任何一个资源DOWN,那么资源就往对方切换。可以一直回来切换.直到分数为负数. 但是,如果一台机器重启了,那么重启后会接管资源,因为他的SCORE比较高。 | |||||||||
| SCORE | Resource Status | Action | MEMO | ||||||
| mysql3.ipaddr | mysql4.ipaddr | mysql3.mysql | mysql4.mysql | mysql3.all | mysql4.all | mysql3.status | mysql4.status | ||
| 400 | 375 | 800 | 775 | 1200 | 1150 | Ipaddr/mysql | Start | ||
| 400 | 375 | 700 | 775 | 1100 | 1150 | Ipaddr/mysql | mysql down | ||
| 400 | 275 | 700 | 775 | 1100 | 1050 | Ipaddr/mysql | ipaddr down | ||
| 300 | 275 | 700 | 775 | 1000 | 1050 | Ipaddr/mysql | ipaddr down | 在这里看到,mysql3.ipaddr>mysql4.ipaddr,但发生了切换. 因为mysql3.all | |
| 400 | 275 | 800 | 775 | 1200 | 1050 | Ipaddr/mysql | mysql3.HB stop_start | 自动切换回来.mysql3.all.score> mysql4.all.score | |
| 例3:default-resource-stickiness=5 default-resource-failure-stickiness=-23 mysql4.ipaddr.score=99 mysql3.ipaddr.score=100 mysql4.mysql.score=99 mysql3.mysql.score=100 这样的配置,如果每次在切换后,把失败NODE的HB重启,或者分数置到CIB.SET. 那么,可以一直来回切换. 不然: 第一次,只要有任何一个资源失败,就发生切换. 第二次,需要有两次资源失败,才会发生切换. | |||||||||
| SCORE | Resource Status | Action | MEMO | ||||||
| mysql3.ipaddr | mysql4.ipaddr | mysql3.mysql | mysql4.mysql | mysql3.all | mysql4.all | mysql3.status | mysql4.status | ||
| 110 | 99 | 110 | 99 | 220 | 198 | Ipaddr/mysql | Start | ||
| 87 | 99 | 110 | 99 | 197 | 198 | mysql3.ipaddr down | 中间计算,HB认为需要切换 | ||
| 77 | 109 | 100 | 109 | 177 | 218 | Ipaddr/mysql | |||
| 77 | 86 | 100 | 109 | 177 | 195 | mysql4.ipaddr down | 中间计算,HB认为不需要切换.因为mysql4.all.score > mysql3.all.score | ||
| 77 | 86 | 100 | 109 | 177 | 195 | Ipaddr/mysql | |||
| 77 | 86 | 100 | 86 | 177 | 172 | mysql4.mysql stop | 中间计算,HB认为需要切换.因为mysql4.all.score < mysql3.all.score | ||
| 87 | 76 | 110 | 76 | 197 | 152 | Ipaddr/mysql | |||
| 例4: default-resource-stickiness=5 default-resource-failure-stickiness=-10 mysql4.ipaddr.score=100 mysql3.ipaddr.score=100 mysql4.mysql.score=100 mysql3.mysql.score=100 | |||||||||
| SCORE | Resource Status | Action | MEMO | ||||||
| mysql3.ipaddr | mysql4.ipaddr | mysql3.mysql | mysql4.mysql | mysql3.all | mysql4.all | mysql3.status | mysql4.status | ||
| 110 | 100 | 110 | 100 | 220 | 200 | Ipaddr/mysql | Start | ||
| 100 | 100 | 110 | 100 |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/703656/viewspace-1028999/ ,如需转载,请注明出处,否则将追究法律责任。
请登录后发表评论
登录
全部评论
| |||||