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

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

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


优化探索

 

锁的优化

 

在默认版本中,使用的 HashSet 是线程不安全的。在这个版本中,相关操作方法如addWatch 、 removeWatcher 和 triggerWatch 都 是 通 过 在 方 法 上 添 加 了synchronized 重型锁来实现的。而在优化版中,采用了 ConcurrentHashMap 和ReadWriteLock 的组合,以更精细化地使用锁机制。这样一来,在添加 Watch 和触发 Watch 的过程中能够实现更高效的操作。

 

 

image.png

 

存储优化

 

这是关注的重点。从 WatchManager 的分析可以看出, 使用 WatchTables 和Watch2Paths 存储效率并不高。如果 ZNode 的订阅关系较多,将会额外消耗大量无效的内存。

 

感到惊喜的是,WatchManagerOptimized 在这里使用了“黑科技” -> 位图。利用位图将关系存储进行了大量的压缩,实现了降维优化。

Java BitSet  主要特点:

空间高效:BitSet 使用位数组存储数据,比标准的布尔数组需要更少的空间。

处理快速:进行位操作(如  AND、OR、XOR、翻转)通常比相应的布尔逻辑操作更快。动态扩展:BitSet 的大小可以根据需要动态增长,以容纳更多的位。

 

BitSet 使用一个 long[] words 来存储数据,long 类型占 8 字节,64 位。数组中每个元素可以存储 64 个数据,数组中数据的存储顺序从左到右,从低位到高位。比如下

 

图中的 BitSet 的 words 容量为 4,words[0] 从低位到高位分别表示数据 0~63 是否存在,words[1] 的低位到高位分别表示数据 64~127 是否存在,以此类推。其中words[1] = 8,对应的二进制第 8 位为 1,说明此时 BitSet 中存储了一个数据 {67}。


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

相关实践学习
基于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)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

热门文章

最新文章