有关分布式的技术产品遵循的规范 CAP 一致性,高可用,分区容错。要么CP要么AP
上传的请求首先经过nginx反向代理负载均衡到 分布式文件存储系统集群
Nginx的conf配置:192.168.10.10
FastDFS:分布式文件存储系统(有2个独立的服务,分布式部署在不同的服务器上)
TrackerServer:跟踪服务
192.168.1.1, 192.168.1.2, 192.168.1.3 (3个节点)
TrackerServer:它是API访问的入口,不管你是上传还是下载都需要经过这个TrackerServer
TrackerServer为了保证高可用,搭建集群(一主一备)
需要Nginx了,因为你上传文件的时候需要连接一个入口。上传的时候需要Nginx反向代理负载均衡到每一个TrackerServer
StorageServer:存储服务
192.168.1.4(192.168.1.7备份机), 192.168.1.5, 192.168.1.6...
存储服务器是由TrackerServer给它分配的上传资源
跟踪服务和存储服务的ping/pong机制:不止是redis中的ping/pong机制这种原理
用户在上传文件的时候经过TrackerServer它就会问StorageServer 1、你还活着吗?2、你那个存储空间闲着?
StorageServer给Tracker Server回复:我是一个集群,我还活着,集群中的192.168.1.5这个节点空闲着,你可以上传这个IP
TrackerServer拿到StorageServer的IP,获取用户上传的文件,把文件指定到对应的StorageServer的IP上在此服务器上的磁盘中保存
下载:调用API