奇虎360开源其高性能KV存储平台Zeppelin
极客时间编辑部
讲述:丁婵大小:1.36M时长:02:58
Zeppelin 是奇虎 360 开源的一个高性能、高可用的分布式 Key-Value 存储平台,它以高性能、大集群为目标,并希望能在 Zeppelin 的基础上,不仅能够提供 KV 的访问,还可以通过简单的一层转换满足更复杂的协议需求。
从 2016 年 7 月正式立项,到半年后 2017 年 3 月的 0.3.1 版本开始接入业务,再到现在的 1.2.3 版本,Zeppelin 已经逐步完善稳定,并接入了包括搜索、代码发布、信息流、静床在内的众多业务的近二十个集群。
据了解,在设计之初,该团队就对 Zeppelin 有如下几个主要期许,并一直围绕着这三个目标在努力:
高性能:这是 Zeppelin 的立命之本,因此无论是语言选择、副本方式、引擎选择还是其他结构设计都不能以牺牲性能作为代价;
大集群:因此需要有更好的可扩展性和必要的业务隔离及配额;
作为支撑平台,向上支撑更丰富的协议。
因此,Zeppelin 并不是一个适用于任何场景的万能药,它一直围绕自己设定的高性能、易扩展、支持上层协议的目标,也就牺牲了对一致性的满足,因此它并不适合对数据一致性要求较高的需求场景,同时也不能支持像数据库、文件系统、块存储等对一致性要求很高的上层协议。
目前 Zeppelin 已经完成了包括扩容缩容、中心节点成员变化在内的大部分作为分布式存储的基本需求。下一步会依然围绕他们的设计初心,同时针对目前的一些问题进行进一步的迭代,包括:
可选的存储引擎:目前的 Rocksdb 存储引擎有自己的应用场景限制,比如在大 value 情况下显著的读写放大、空间放大,以及读场景对缓存的过分依赖。而支持更多的上层协议就需要面对更多的数据和业务场景,因此可选的存储引擎就成为一个急迫的发展方向。
跨机房同步:目前的 Zeppelin 集群分机房部署,而越来越多的业务提出对跨机房同步的需要。
更丰富的语言接口:目前已经支持 C++、Go、Python 及 PHP。
更精确地运维控制:比如对不同副本 DB 的 Compaction 时机的控制,数据恢复时更动态的流量控制等。
上层协议的支持和完善:目前已经支持了简单的 TableStore 及高性能 S3,同时支持上层协议也需要更好的对协议元数据的管理方式。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论