宣宇-美团万亿级对象存储挑战和实践探索.pdfVIP

宣宇-美团万亿级对象存储挑战和实践探索.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

宣宇

目录

⚫规模:万亿级对象、EB级存储

⚫场景:静态资源、多媒体数据、文档、模型、备份等

⚫增速:50%~100%/年

从开源的openstackswift到自研系统

⚫Proxy:协议解析,文件切片和合并,限流等,无

状态节点

⚫Objectmanager:对象管理,生命周期、垃圾数据

清理

⚫Store:单机存储引擎,追加聚合成大文件存储,

数据冗余持久存储,后台任务执行

⚫Storemaster:节点管理、全局负载均衡、后台任

务调度等

⚫MetaDB:类LSM的数据库

面临的挑战

⚫MetaDB为瓶颈:每日写入量、扫描流量、事务冲突

⚫业务之间相互干扰严重,爆炸半径过大

⚫对象管理和存储管理单点成为瓶颈

⚫Proxy缓存效率低

⚫垃圾数据的GC效率低、成本高

⚫异构存储硬件的管理复杂度高

对象处理单元分组

⚫对象元数据与存储元数据分离

⚫每个对象分组有独立的proxy、

objecmanager和metadb

⚫每个对象分组共享底层存储

⚫每个分组承担若干租户/桶的请求

数据存储单元分组

⚫数据存储划分多个独立的单元

⚫每个单元有独立的store、storemaster

和metadb

⚫每个单元存储若干个租户/bucket的数据

⚫一个单元内的机器硬件保持统一

⚫数据的冗余副本不能跨单元分组

⚫支持存储单元分组故障降级

流量控制的背景

⚫业务诉求:吞吐承诺,流量不能过高

⚫业务趋势:内网流量超千万GB/天,避免突发流量的影响

流量控制面临的挑战

⚫请求大小差异:文件大小差异大,HTTPRange

⚫客户端影响:流式传输,收发包快慢

⚫连接不均匀:网关转发策略、慢节点等

⚫性能开销:不能影响吞吐和时延

常见方法的问题

⚫基于中心统计节点的精确限流:统计节点为瓶颈、流量倾斜、连接饥饿

⚫基于平均分布的单机限流:误差大

解决思路

⚫低并发场景基于中心统计方式实现流量

token分配

⚫高并发场景下按节点平均分配流量

token,并且要有机制校正误差

具体做法

⚫限流周期:秒级,轮换中心限流节点

⚫中心限流节点统计:连接数+已使用token数

⚫限流粒度:proxy按照bucket级别预取限流token

⚫连接倾斜和饥饿:基于上一个限流周期的连接数

校正,并控制校正幅度

基本存储模型

⚫对象切片:proxy将对象切割成不超过2MB的record

⚫追加存储:不同的record追加到partition实现冗余存储

⚫对象读取:proxy拼接多个record返回给client

⚫Partition冻结:写满256MB后冻结持久化索引和CRC

checksum

⚫PartitionGC:record标删,多个partition合并来实现清理垃圾

数据

⚫后台EC:多个partition实现后台转EC

数据持久性需要解决的问题

⚫不能给client返回错误的数据

⚫尽快发现错误的数据,并利用冗余机制进行修复

⚫防止错误数据扩散

⚫确保持久存储的数据与client一致

不返回错误的数据:recordCRC校验

⚫对象文件大小范围大

⚫保证http首包延迟

⚫httprange请求

尽快发现错误数据

⚫温热数据:读取record时校验

⚫冷数据:周期性chunkcrc校验

周期性chunkCRC校验

⚫巡检周期控制在半个月以内

⚫每个硬盘挑选一个chunk组成一个集合

⚫条带式增量计算chunkcrc减轻硬盘的压力

文档评论(0)

150****8957 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档