分布式存储的构想

分布式存储的构想

程序是思想的表现,如果有了解决问题的方法,写程序就能写出来,但反过来,如果没有思路,如何表现?
就像不知道高数的级数,如何能精确地算出π值,sin值?
这些天想了一下淘宝的海量数据,如果是我的话,如何设计?

  1. 负载均衡

    页面在可连接网站上,随即选择一个连接,将流量分散,一个失败换下一个。

  2. 数据分散

将数据按照配制文件,分散到动态可添加的节点上,提高处理的速度和保存的容量。

3.每个节点为一个机群,互相备份,监督,防止数据的丢失和服务的不可持续性。少部分发生故障,多数顶替,恢复后同时提供服务。

第三点很复杂,我提出以下初步解决方案。

机群是一些计算机(叫处理机器),它们之间可以距离很远,防止一个地方发生地震。要保存数据的处理机器都有一个配置文件,记录了这个机群内的计算机,放在内存中,更新时管理员时通过网络通知,不要每次都在磁盘中看。客户提出的更新要同时在多数服务器上按序更新,更新后通知客户,然后进行下一个的请求处理。通过分散数据降低请求的数量,防止服务堆积太多,产生丢失。这样,在客户连接数量不是很多的前提下,机群内接受到客户请求后,先通知其它机器同步,如果其它机器也有更新请求,就要按一定算法选出一个优先保存,并编号。都保存后通知优先的给客户响应后,再通知其它计算机,记录可以提交,都提交后,编号加一。如果因为一些原因其中一些机器坏了,或网络连线断开,它如果没有收到多数的响应,不提交给客户,其它计算机取消这个请求,返回失败。这个电脑自动进入维护状态,待修好后就试探取得现在的编号,如果相差较多,不能服务,立即去对应的备份节点群(后边将要定义的恢复机器)中快速更新,赶上丢失的更新后,重新提供服务。可是如何赶上呢?假设有一些机器(叫恢复机器,分为流水线机器和快照机器)。流水线机器,对应每一个处理机器,它保存着每一次更新的记录,为了不会因为庞大的记录占用宝贵的硬盘,和提高追赶的速度,流水线上的机器保存14天的记录,每隔7天,快照机器就在最多6天的时间内处理这些积压的记录,更新保存的快照,删除处理过的记录,然后休息,直到下次时间到,又要更新时,再处理新堆积的记录。在休息的时间内如果有机器处于维护状态,如果它是断电或网络暂时中断引起的并且看时间知道能在流水线上恢复的,就自己读取流水线机器的记录恢复。不能通过流水线机器恢复的,就格式化硬盘,在快照机器休息期间分配某个快照机器把它保存的硬盘快照复制给格式化硬盘的机器,然后再通过流水线机器恢复后,补充给机群。时间上复制必须在1(7-6)天内接受,不然,又要分库降低数量,1天估计能复制1个T吧,当然时间上可以再调整了,我是猜的,复制快,更新慢。
希望抛砖引玉,有人能开发出开源,强大的机群,给大家用。另外号召大家,改进网络协议,降低上网,开网站成本。督促政府重视网络建设,参入奇思妙想的创意中,为我们的未来提前铺平理论上的道路。比如:ip6中国用起来,每人发一个,像qq号一样,关联身份证,不用掏钱买,每个人都是电商,可以网上开店,提供服务。3000块钱买个电脑,免费连上网,网线国家免费。修高铁,修学校,提高公务员工资,不如建设点公用工程,免费开办在线义务教育,在家上小学,大学,研究生,国家不用给太多教授,研究生,博士发工资,办几个视频网站就行了,到时组织考试,摄像头录制,防止作弊。没有论文答辩这些弹性很大的东西,比如:博士生,你只要能通过国家的规定专业考试,不要找导师,拉关系,请客吃饭,送红包,筛选,国家只认考试有没通过,通过人太多,就提高难度,不讲关系和人为评价,为科技建设和企业选人提供标准的考核依据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值