360自研Bada:海量数据存储的分布式系统架构与实战分享

0 下载量 98 浏览量 更新于2024-08-27 收藏 687KB PDF 举报
360自研的分布式存储系统Bada是一款专注于海量数据持久化存储的解决方案,由360内部团队自主研发。其设计理念注重折衷和权衡,目标是为线上热门应用提供高效的服务,但目前主要应用于非金融业务,以保证系统的最终一致性。Bada的设计灵感来源于Amazon Dynamo,采用了对等架构,每个节点都保存了所有数据的元信息和数据,这样的设计有助于提升系统的可扩展性和容错性。 Bada的核心组件之一是Mario库,它支持异步数据同步,虽然整个项目尚未完全开源,但已有一些关键部分对外公开。Bada特别适合存储用户数据value大小在10k以内的数据,此时能够提供约1ms的延迟,强调读取性能,因此推荐使用SSD存储。对于存储冷数据,Bada建议结合公司的其他存储选项,如HBase或Cassandra。 在实际应用中,Bada被广泛用于360公司的多个业务场景,如云盘(处理百亿级别的日访问量,数据量达到千亿级别)、LBS(存储POI信息,进行跨五个机房的数据同步,日请求量达十亿级别)以及Onebox、导航影视和白名单等。Bada提供了BadaSDK供开发者使用,通过与QConf(360的配置管理系统)集成,用户可以方便地获取存活的Bada节点进行访问。 总结来说,Bada作为一款高性能、可扩展的分布式存储系统,旨在满足大规模数据处理和高可用性的需求,通过灵活的架构设计和组件开源策略,为360的业务提供了强大且稳定的支撑。随着项目的推进,预计未来会有更多细节和技术细节被公开,进一步推动分布式存储技术的发展。