《阿里云产品四月刊》—得物 ZooKeeper SLA 也可以 99.99%丨最佳实践(5)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

《阿里云产品四月刊》—得物 ZooKeeper SLA 也可以 99.99%丨最佳实践(4)https://developer.aliyun.com/article/1554137


意外发现

 

通过上面的分析可以得知,需要避免客户端出现对所有 ZNode 进行全面订阅的情况。然而,实际情况是,许多业务代码确实存在这样的逻辑,从 ZTree 的根节点开始遍历所有 ZNode,并对它们进行全面订阅。

 

或许能够说服一部分业务方进行改进,但无法强制约束所有业务方的使用方式。因此,    解决这个问题的思路在于监控和预防。然而,遗憾的是,ZK   本身并不支持这样的功能, 这就需要对 ZK 源码进行修改。

 

通过对源码的跟踪和分析,发现问题的根源又指向了 WatchManager,并且仔细研究了这个类的逻辑细节。经过深入理解后,发现这段代码的质量似乎像是由应届毕业生编  写的,存在大量线程和锁的不恰当使用问题。通过查看 Git 记录,发现这个问题可以追溯 到 2007 年 。

 

然而,令人振奋的是,在这一段时间内,出现了 WatchManagerOptimized(2018), 通过搜索 ZK 社区的资料,发现了 [ZOOKEEPER-1177],即在 2011 年,ZK 社区就已经意识到了大量 Watch 导致的内存占用问题,并最终在 2018 年提供了解决方案。正是这个 WatchManagerOptimized 的功劳,看来 ZK 社区早就进行了优化。

 

 

image.png

 

有趣的是,ZK 默认情况下并未启用这个类,即使在最新的 3.9.X 版本中,默认仍然使用 WatchManager。也许是因为 ZK 年代久远,渐渐地人们对其关注度降低了。通过询问阿里的同事,确认了 MSE-ZK 也启用了 WatchManagerOptimized,这进一步证实了得物技术团队关注的方向是正确的。


《阿里云产品四月刊》—得物 ZooKeeper SLA 也可以 99.99%丨最佳实践(6)https://developer.aliyun.com/article/1554135

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
2天前
|
消息中间件 存储 安全
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(10)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(10)
|
2天前
|
消息中间件 安全 Cloud Native
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(9)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
23小时前
|
自然语言处理
电子好书发您分享《阿里云产品2024年五月刊》
```markdown 《阿里云产品2024年五月刊》电子书分享:探索阿里云最新动态。[查看](https://developer.aliyun.com/ebook/8349/read?spm=a2c6h.26392459.ebook-detail.5.32203988v4X3Om) ``` 纯文本摘要: 《阿里云产品2024年五月刊》现已发布,详询阿里云最新产品和服务,请访问:https://developer.aliyun.com/ebook/8349/read?spm=a2c6h.26392459.ebook-detail.5.32203988v4X3Om
|
2天前
|
Cloud Native 关系型数据库 分布式数据库
《阿里云产品四月刊》—瑶池数据库云原生化和一体化产品能力升级
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
2天前
|
消息中间件 安全 API
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
2天前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
2天前
|
消息中间件 Cloud Native Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(8)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(8)
|
2天前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
2天前
|
消息中间件 运维 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
2天前
|
消息中间件 Cloud Native Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(5)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

热门文章

最新文章