相信小伙伴们对fastdfs或多或少都了解过吧,比较是目前最流行的分布式文件系统之一,但如果想要在面试中脱颖而出,仅仅是简单的了解它是不够的,还是来跟小编系统的了解一下fastdfs的常见面试题吧。
一、什么是fastdfs?
astDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
二、fastdfs有哪些架构?
FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server
进行文件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。
Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些策略找到 Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务器。
Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上,Storageserver 没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将storage称为存储服务器。
三、fastdfs服务端有哪些角色?
Tracker:管理集群,tracker 也可以实现集群。每个 tracker 节点地位平等。收集 Storage 集群的状态。
Storage:实际保存文件 Storage 分为多个组,每个组之间保存的文件是不同的。每个组内部可以有多个成员,组成员内部保存的内容是一样的,组成员的地位是一致的,没有主从的概念。
四、fastdfs的交互过程?
-client询问tracker上传到的storage,不需要附加参数;
-tracker返回一台可用的storage;
-client直接和storage通讯完成文件上传。
五、fastdfs有哪些优缺点?
Fastdfs优点
1、主备Tracker服务,增强系统的可用性
2、系统不需要支持POSIX,这样的话就降低了系统的复杂度,使得处理的速度会更高
3、支持主从文件,支持自定义扩展名
4、支持在线扩容机制,增强了系统的可扩展性
5、实现了软RAID,增强了系统的并发处理能力和数据容错恢复能力
fastdfs缺点
1、通过API下载,存在单点的性能瓶颈
2、不支持断点续传,对大文件将是噩梦
3、同步机制不支持文件正确性校验,降低了系统的可用性
4、不支持POSIX通用接口访问,通用性比较的低
5、对跨公网的文件同步,存在着比较大的延迟,需要应用做相应的容错策略
六、fastdfs特性有哪些?
1)、Tracker服务器是整个系统的核心枢纽,其完成了访问调度(负载均衡),监控管理Storage服务器,由此可见Tracker的作用至关重要,也就增加了系统的单点故障,为此FastDFS支持多个备用的Tracker,虽然实际测试发现备用Tracker运行不是非常完美,但还是能保证系统可用。
2)、在文件同步上,只有同组的Storage才做同步,由文件所在的源Storage服务器push至其它Storage服务器,目前同步是采用Binlog方式实现,由于目前底层对同步后的文件不做正确性校验,因此这种同步方式仅适用单个集群点的局部内部网络,如果在公网上使用,肯定会出现损坏文件的情况,需要自行添加文件校验机制。
3)、支持主从文件,非常适合存在关联关系的图片,在存储方式上,FastDFS在主从文件ID上做取巧,完成了关联关系的存储。
以上就是今天的全部内容了,相信你对面试一定又多了一份把握吧,如果还想了解更多java面试题相关内容的话,就请一定记得关注我们奇Q工具网了解详情啊。
推荐阅读: