微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BFS-Baidu <a href="https://github.com/baidu/bfs#%E8%AE%BE%E8%AE%A1%E7%9B%AE%E6%A0%87"></a>设计目标<a href="https://github.com/baidu/bfs#%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84"></a& 百度文件系统

程序名称:BFS-Baidu <a href="https://github.com/baidu/bfs#%E8%AE%BE%E8%AE%A1%E7%9B%AE%E6%A0%87"></a>设计目标<a href="https://github.com/baidu/bfs#%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84"></a&

授权协议: BSD

操作系统: Linux

开发语言: C/C++

BFS-Baidu <a href="https://github.com/baidu/bfs#%E8%AE%BE%E8%AE%A1%E7%9B%AE%E6%A0%87"></a>设计目标<a href="https://github.com/baidu/bfs#%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84"></a& 介绍

The Baidu File System

百度的核心数据库Tera将数据持久化在分布式文件系统上,分布式文件系统的性能、可用性和扩展性对整个上层搜索业务的稳定性与效果有着至关重要的影响。现有的分布式文件系统(如HDFS等)无法满足低延迟、高可用、跨地域扩展等方面的需求,所以我们从百度搜索的业务特点出发,开发了自己的分布式文件系统BFS。

设计目标

  1. 高可靠、高可用
    通过将数据副本进行多机房、多地域冗余,实现单个机房、地域遇到严重灾害的情况下,不丢失数据,不影响整体可用性。
    将元数据服务分布化,通过多副本实现高可用,通过Raft等一致性协议同操作日志,实现多副本的一致性。

  2. 高吞吐、低延迟
    通过高性能的存储引擎,最大化存储介质IO吞吐;通过全局的副本、流量调度,实现热点负载均衡。

  3. 水平扩展
    支持跨地域、多数据中心部署,可水平扩展至10万台机器。

系统架构

系统主要由NameServer、MetaServer、ChunkServer、SDK、bfs_mount和bfs_client等几个模块构成。
其中NameServer是中心控制模块,采用集群化部署,负责目录树的管理;ChunkServer是数据节点负责提供文件块的读写服务;SDK以静态库的形式提供了用户使用的API;bfs_mount通过libfuse,将bfs挂载到本地,作为本地文件系统访问;bfs_client是一个二进制的管理工具。

BFS-Baidu <a href="https://github.com/baidu/bfs#%E8%AE%BE%E8%AE%A1%E7%9B%AE%E6%A0%87"></a>设计目标<a href="https://github.com/baidu/bfs#%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84"></a& 官网

https://github.com/baidu/bfs

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐