打字猴:1.703952518e+09
1703952518 技术管理之巅:如何从零打造高质效互联网技术团队? [:1703949777]
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
1703952554 技术管理之巅:如何从零打造高质效互联网技术团队? [:1703949778]
1703952555 技术管理之巅:如何从零打造高质效互联网技术团队? 第10章 技术与哲学篇
1703952556
1703952557 技术管理之巅:如何从零打造高质效互联网技术团队? [:1703949779]
1703952558 10.1 当技术遇上哲学思想
1703952559
1703952560 技术管理之巅:如何从零打造高质效互联网技术团队? [:1703949780]
1703952561 10.1.1 每一个成功的技术架构背后,都有哲学的光芒
1703952562
1703952563 首先,我们来观察蜂群的活动,蜜蜂分群的时候,统治者不是蜂后,蜂后只能跟着,是蜂后的女儿们负责蜂群应该何时何地安顿下来。五六名无名工蜂负责侦察可能安置蜂巢的树洞和墙洞,它们回来后用约定的舞蹈向蜂群报告,侦察员的舞蹈越夸张,说明它主张使用的地点越好。接着,一些头目们根据舞蹈的强烈程度,核查几个备选地点,并以加入侦察员舞蹈的方式表示同意。这就引导更多的跟风者前往“得票”最多的候选地点侦察,回来之后再加入看法一致的侦察员的舞蹈,表达自己的选择。
1703952564
1703952565 根据收益递增法则,得票越多,反对越少,渐渐地以滚雪球的方式,形成一个大的群舞,最终,最大的蜂群获胜。这是一个白痴的选举大厅,由白痴选举白痴,其产生的效果却极为惊人。这是民主制度的精髓,是彻底的分布式管理。
1703952566
1703952567 如何从单个蜜蜂的机体过渡到蜂群机体?只需增加蜜蜂的数量,使大量蜜蜂聚集在一起,并能够相互交流。等到某一阶段,当复杂度达到某一程度时,蜂群机体就会从单个蜜蜂中涌现出来。
[ 上一页 ]  [ :1.703952518e+09 ]  [ 下一页 ]