1703952511
1703952512
如果某个服务的响应时间越来越慢,ZooKeeper Cluster就会发现,并且及时做出调整,比如,不再给这个服务分配那么多的调用量,直到它的状态恢复正常为止。
1703952513
1703952514
从图9-12中,注意到ZooKeeper Cluster、Jumper Broker、Detector都是集群部署,确保了服务治理平台本身的高可用性,在技术实现上也采用异步消息机制、RPC框架,使得架构本身无中心、无单点,可支持上万个节点。
1703952515
1703952516
部署起来也非常简单,只要把服务治理平台的客户端,跟服务一起部署,做些简单配置就可以了。
1703952517
1703952519
9.2.4 分布式文件存储架构设计
1703952520
1703952521
分布式文件存储系统,解决的是大文件存储的问题,传统的解决方案是,使用几台NFS存储设备,对图片、视频等大文件进行存储,NFS存储容量一般是3TB左右,单机做raid,双机备份,一读一写。一般的NFS存储,最大支持1亿张的图片,不可扩展。所以这个方案成本比较高,在硬件故障的情况下,服务的可用性存在很大风险。
1703952522
1703952523
我们的架构目标是:伸缩性强、高可用性、高性能、低成本。同时,要具备易用性,支持POSIX,本地化可读可写,高并发读写,高灾备,高稳定性,可线性扩展,可支持海量文件,可存储超大文件。
1703952524
1703952525
这里我们以开源框架FastDFS为基本框架,给大家展示如何设计分布式文件存储系统,如图9-13所示是分布式文件存储的架构,从图中可以看到,架构主要分成两部分:Storage Server、Tracker Server。
1703952526
1703952527
1703952528
1703952529
1703952530
图9-13 分布式文件存储系统架构
1703952531
1703952532
Tracker Server,跟踪服务器,主要做调度工作,在访问上起负载均衡的作用。在内存里记录集群中group和storage server的状态信息,是连接Client和Storage server的枢纽。
1703952533
1703952534
Storage Server,存储服务器,文件和文件属性(meta data)都保存到存储服务器上。
1703952535
1703952536
这个架构中只有两个角色,Tracker server和Storage server,并不需要存储文件索引信息;所有服务器都是对等的,不存在Master-Slave关系;存储服务器采用分组方式,同组内存储服务器上的文件完全相同(RAID 1);不同组的Storage server之间不会相互通信;由Storage server主动向Tracker server报告状态信息,Tracker server之间通常不会相互通信。
1703952537
1703952538
奇怪的是,连索引服务器都没有,那么如何进行检索和定位呢?原来在上传文件时,Client询问Tracker上传到的Storage,Tracker返回一台可用的Storage,Client直接和Storage通信完成文件上传,由Storage生成文件ID并返回给Client,文件ID是一个URI,包含了组名和文件名,文件名是有规则的,即:文件ID=组名+磁盘+目录+文件名。示例:TEST/M09/00/03/wKgjC1Dvd2iASfO0ABH_jlc7WmU353.MP4
1703952539
1703952540
下载文件时,可以通过专用API下载,Client通过文件ID向Tracker询问,Tracker根据组名,选择指定组中active的Storage,Client直接与Storage通信,完成下载。
1703952541
1703952542
分布式文件存储系统,如何运用到具体的网站当中?如图9-14所示,这是一个典型的图片网站、视频网站的应用架构。分布式文件存储系统提供Upload集群接口,让图片网站、视频网站调用,文件被传输到分布式文件存储系统中。
1703952543
1703952544
1703952545
1703952546
1703952547
图9-14 分布式文件存储应用架构
1703952548
1703952549
当互联网用户访问这些图片、视频的时候,即可从CDN中获取,从而减少对服务器的访问压力。
1703952550
1703952551
1703952552
1703952553
1703952555
技术管理之巅:如何从零打造高质效互联网技术团队? 第10章 技术与哲学篇
1703952556
1703952558
10.1 当技术遇上哲学思想
1703952559
[
上一页 ]
[ :1.703952511e+09 ]
[
下一页 ]