主页(http://www.kuwanit.com):CIO:互联网IT系统和传统企业IT系统的异同
但是,以前除了飞机之外,就只有火车,大巴这种交通方式选择了。相比之下,这些方式虽然收费低廉,乘车,携带物品都比较方便,但是速度实在太慢而且受外界因素诸如雨雪等等的影响太大,乘坐也不是很舒适。只能满足那些相对时间宽裕,或者囊中羞涩人群的出行需求。
回到IT世界也是一样。分布式系统基本都是基于x86的PC服务器。单就一台服务器而言,虽然性能可靠性在不断加强,但肯定还是不如RISC系统的。但是没关系,咱可以用数量来弥补单机冗余度的不足啊。设计没你好冗余度没你考虑的多我就多拉几台呗。坏了几台没事,应用任务再分配到别的空闲机器上就好了。坏了的机器也不用马上修,反正没坏的机器加起来也够用。等到故障机器到了一定数量我再一次性批量检修更换部件效率更高。对于用户来讲,即使我坏了100来台服务器只要剩下的服务器还能正常工作,应用就不会受任何影响。谷歌,Facebook那些超大型数据中心现在的工作思路大致如此。这么做看起来是个很简单有效,很聪明的方法,但其实也有不少问题存在。
还是来说说稳定性和可靠性:飞机也好,动车也好,新闻里面都有报道过出现严重事故,可见没有一种系统是完全稳定可靠不会出现任何宕机风险的,但是其概率都是非常非常小的。从整体来讲,都是很稳定很可靠很安全的选择。只不过各自对于如何防灾冗余的策略还是有些不一样。先说飞机,因为飞在空中,万一出了事情没有后备可用,所以能采取的方式只有想尽一切办法提高飞机自身个部件的冗余度,设计时尽可能多的考虑各种小概率事件。哪怕发生某故障的概率只有千万分之一甚至亿万分之一,只要有可能,也要把应对措施设计进去。这也是飞机造价为什么会那么高,对携带物的要求会那么多的原因。而动车则相对简单:反正多拖几节车厢又不影响我速度,那我就尽量多拖些备用车厢跑着呗。万一某节车厢出事了,就把里面乘客挪到备用车厢里,车照样跑得欢。然后等到了站再去更换检查有问题车厢也不迟。
3. 这种方式很容易让IT运维人员产生一种习惯性思维 – 即要提高系统在线时间就多买些服务器就好了。因为服务器多了分布性好了自然冗余度就高了。于是不必要的服务器采购就这么产生了,每个数据中心也就又多了很大一笔不是很必要的电费开销。
也就是说:我们可以简单把大型企业核心架构,或者说就是大型机,RISC系统比作飞机;而把互联网,云计算的系统架构比作动车。现在,就可以做些很有意思的讨论了。
说了这么多,基本要讲的也就讲得差不多了。怕前面说的有些散稍微总结下我想说的观点:无论传统架构还是现在流行的分布式架构,虽然实现方式各有不同,但都是具有很高的稳定性可靠性的系统。但没有一个系统是绝对稳定不会宕机的,要保障系统稳定可靠运行,运维管理很重要。分布式系统相比传统架构有扩展性和灵活性方面的巨大优势,但也存在资源浪费和故障隐患危险。在这一方面,分布式系统架构还需要多向传统架构的运维管理学习借鉴,提升自身的忧患意识和故障预警处理能力。
首先我觉得这个架构好处是实现原理简单,而且扩展性弹性比起RISC架构来好处不言而喻。但其实这个架构里面也存在着无谓的资源浪费可能性。例如拿存储而言,目前Hadoop类的多副本分布式存储很火。一份数据存三份,发现有数据损坏立即找空闲空间恢复。听上去很简单很容易实现很高效,但如果你真的坐下来仔细算算账,你就会发现:
最后,我想说互联网,云计算的业务类型其实和传统企业的业务类型不一样,所以大型机,系统处理的任务,运行的计算并不一定都适合移植到分布式系统架构上来。还是以交通运输举例:我要去美国,目前还是只有飞机可以满足我的需求。当然你可以说我坐动车也可以,无非是多转几趟跨国列车。但那毕竟很勉强,速度不快,费时费力还不省钱,毫无意义。人家直接飞过去就行了,你却要绕着太平洋海岸线跑一个大圈来兜,何必呢?
2. 这种方式下每台服务器的CPU利用率都很低,而现在市面上的大存储容量服务器,CPU配置都很高。所以这种方式,基本上是对于CPU资源的一种浪费。所以,或许对于数据量适中的企业来说,用EC CODE这种以计算能力换存储的分布式存储解决方案会比多副本方案更经济实惠。
发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。