高可用分布式文件系统的组建
传统的单机版Web应用的文件管理方式,例如图片和视频文件的上传和使用等,大多是将文件存储在服务器本地,但这种管理方式无法应用在微服务应用中。一方面,微服务应用发布在分布式环境中,随时随地都可以进行多副本的部署,所以它的媒体文件必须存放在一个统一的地方。另一方面,建立一个独立而高效的文件系统,也是高可用、高性能应用平台的一个有机组成部分。
如果我们租用云服务,就可以使用云服务商提供的分布式文件系统,例如,阿里云或腾讯云的对象存储OSs。
下面,为了加深读者对分布式文件系统的理解,我们使用开源的FastDFS构建一个高可用的分布式文件系统。
FastDFS架构
FastDFS是一个轻量级的分布式文件系统,使用FastDFS可以搭建一个高可用且可持续扩展的分布式文件系统。
FastDFS由跟踪器(Tracker)和存储节点(Storage)两部分组成。跟踪器用来调度来自客户端的请求,并记录存储服务器的信息。存储节点用来保存文件及其属性,同时进行文件同步处理工作。文件的存储还使用分组(或分卷)的方式进行组织。搭建两个以上的跟踪器就可以组成一个高可用的分布式文件系统,如图14-1所示。
基于图14-1所示的架构设计,我们将使用四台服务器搭建一个高可用的分布式文件系统,代码如下所示。
Tracker Server1: 10.10.10.22
Tracker Serve