portant;" />
1964年,吉恩·阿姆达尔的(de)团队耗费了50亿美金后,终于研(yán)制出了世界上第(dì)一台采用集成电路工艺的计算机IBM360。
因为IBM360的出现,吉恩·阿姆达尔被冠以商(shāng)用(yòng)大型机最早的“建筑(zhù)师(shī)”、有史以来最伟(wěi)大的(de)计(jì)算(suàn)机设计师等一连(lián)串的头衔,IBM也凭借比原子弹造价高2.5倍的投入,奠定了(le)计算机帝国(guó)的半壁江山。
可如此高昂的研发成(chéng)本也留下了一个(gè)棘手问题,只有国防、金融、交通、能(néng)源(yuán)等国家支柱产业才能承(chéng)担起大型机的费用,普通企业几乎无法染指。好在有学者提出了“效用计(jì)算”的概念:家家户户都可以(yǐ)使用电(diàn)灯(dēng),却不(bú)需(xū)要各家各户都配(pèi)置(zhì)并维(wéi)护一台发电机,是否可以用同样的方式提(tí)供计(jì)算服务(wù)呢(ne)?集中(zhōng)式架构的理念应运而(ér)生。
但到了20世(shì)纪80年代,计算机(jī)架构却也开始向两个方向发展(zhǎn):以X86为架构的面向个人的PC和以RISC为架构面向企业的UNIX服(fú)务器。在成本天平的制约(yuē)下(xià),不少(shǎo)企(qǐ)业改用(yòng)小型机及PC来搭建系统架(jià)构,分布(bù)式架构的思(sī)想逐渐开始生根(gēn)萌芽。
单从(cóng)时间上看,有关分(fèn)布式架构与集中式架构孰优孰劣的讨论已经持续(xù)了30年左右的时间,几乎等同(tóng)于伯(bó)罗奔尼(ní)撒战争(zhēng)的时长(zhǎng),集中式架构和分布式架构分别扮演了(le)雅典城邦和斯巴达的角色(sè)。
先来花(huā)一点时间回忆下,什么是集中式架构,以及(jí)什么是分布式架构?
集中式架构可以理解(jiě)为将所需(xū)要的(de)服务器(qì)资源集(jí)中在少数几台服务器上,可以理解(jiě)为“中(zhōng)央集权式”的部(bù)署。而分布式架(jià)构的思(sī)想根(gēn)基是根据(jù)业务功能、模块设(shè)计或者行政机构的不同(tóng),采用相对分散的中小型服务器。
集中式架构的“代表人(rén)物(wù)”就是采用Power架构的浪潮K1 Power系列高(gāo)端(duān)服务器,最大特点在于部署结构(gòu)简单、高效运营。集中式系(xì)统(tǒng)往往基于底层性能卓越(yuè)的服(fú)务器,终端(duān)或客户端机(jī)器(qì)仅仅负(fù)责数据的(de)录入和输出,无(wú)需(xū)考虑(lǜ)如何对服务进行多(duō)个节点(diǎn)的部署,也就不用考虑多个节点之间的分布式协作问题(tí)。
然而(ér)由于历史上的(de)种种原因,集(jí)中式架构(gòu)多用于(yú)传统的银(yín)行、电信、交(jiāo)通(tōng)、医疗等行业,操作系统、中间件、数据库(kù)等“基(jī)础软件”多为(wéi)闭源商用系统,“稳定、安全”几乎是集中(zhōng)式(shì)架构的代名词。
分布式架构则被Google、Amazon、Facebook、阿(ā)里巴巴、腾讯等互联网公司所(suǒ)推崇,往往采用性价比更高的X86服务器、分布式数据(jù)库和大量(liàng)的(de)内存闪(shǎn)存,既没有控制整(zhěng)个系统的“主机(jī)”,也没(méi)有被控制的“从机(jī)”,分布式系统(tǒng)的所有节点都是对等的,并且可以在空(kōng)间部署上进行随(suí)意分布,可以是不同的机房,甚至是不同的城市。
由于(yú)分布式架构下的单台服务器处理能力有限,数据库层(céng)和应用层主要(yào)依赖(lài)横向(xiàng)扩充,导(dǎo)致数(shù)据库服务(wù)器必须使(shǐ)用(yòng)并(bìng)行(háng)版数据(jù)库软件,应(yīng)用(yòng)系统必须基于并(bìng)行数据访问方式进行开发(fā),早(zǎo)期确实(shí)遇到了(le)不少技术上的瓶颈。
不过从声量上来看,随着互(hù)联网巨头们影(yǐng)响力的与日俱增,分(fèn)布式阵营在(zài)话(huà)语权上(shàng)逐(zhú)渐胜过集中(zhōng)式架(jià)构,以至于不少论坛(tán)上出现了往分布(bù)式(shì)架构一边(biān)倒的现象(xiàng)。
至(zhì)于分布式架构是否优于集中式架构,仍然存在很大的争议(yì)。
正如许多人(rén)多认可(kě)的(de):集中(zhōng)式架(jià)构的(de)优(yōu)势(shì)在于(yú)可靠性、一致(zhì)性和稳定(dìng)性,缺点在于不适用(yòng)于非结构化数(shù)据,特别是在支撑力有限的前提下(xià),但对(duì)顶层设计(jì)的要求偏高;分(fèn)布式架构长于(yú)弹性(xìng)、扩展性和敏捷(jié)性,又(yòu)在并发(fā)性、全局时钟、故障处理等(děng)方面存在(zài)先(xiān)天不足。
只(zhī)是这些优点和缺点的比较,多半还在站(zhàn)在(zài)技(jì)术的角度上,如果站(zhàn)在客(kè)户需(xū)求的(de)立场上(shàng),或许可(kě)以得到不一样的(de)答案。
譬如在可(kě)扩展性方面,分布式(shì)架构(gòu)看(kàn)似(sì)有着无可比拟的优势,但在实际应用(yòng)中,鉴(jiàn)于并(bìng)行数据库的软件使(shǐ)用难(nán)度和维度费用较(jiào)高,横向扩充(chōng)方式的实现相对困(kùn)难许(xǔ)多(duō)。反(fǎn)倒是集中式架构由于单台服务器有着较好的(de)可扩充能力(lì),可(kě)采用增(zēng)加硬件和配件(jiàn)的纵向方式提升处理能力,数据库和应用软件不(bú)需要进行调(diào)整,实(shí)现(xiàn)起来反而相对容易。
又譬(pì)如在投资成本方(fāng)面(miàn),集中式(shì)架构的前期采购价格偏(piān)高,给人(rén)留下(xià)了高成本的印象,分布式(shì)架构则胜在成本(běn)优(yōu)势。简单算一笔经济账的(de)话,分布式架构的硬(yìng)件采(cǎi)购成本偏低(dī),与(yǔ)之对(duì)应的软件(jiàn)成本、运(yùn)维成本乃(nǎi)至机房建设成本,都可能(néng)随(suí)着机器(qì)数量线性增长(zhǎng),到达某(mǒu)个临界点后,分(fèn)布式(shì)架构的成本可能会高于集中式。
当然,分布式架构还(hái)有另一重被看好的因素,即安全性。封闭的体(tǐ)系和国(guó)外巨头垄断的市(shì)场现(xiàn)状,较于(yú)有自(zì)主(zhǔ)知识产权的分布式架构(gòu),似乎在控制能力上(shàng)稍(shāo)显吃力。
而浪潮K1等国产高端服务器的出现(xiàn),已然在某种程度(dù)上(shàng)改变了这一局面,比如浪潮商用(yòng)机(jī)器针对K1 Power服务器(qì)进行了全新的设计,从固件的开发(fā)、KUX操作系统到AIX、Linux的兼容,Power的整个生态系统正(zhèng)在从封闭走向开放。在这样的局(jú)面下,诸如(rú)集中式架构的安全疑(yí)问自然不攻自破。
或许应该抛弃一些固有的偏见(jiàn),以(yǐ)客观的态度认识IT架构(gòu)。
事实也是如此,分布式(shì)架构和集中式架(jià)构(gòu)的讨(tǎo)论(lùn),正(zhèng)逐渐从商业(yè)话题转变(biàn)为纯粹的技术性问题。或许在企业的立(lì)场(chǎng)上(shàng),集中(zhōng)式和分布式(shì)架构从来都不是非(fēi)此即彼的选择,而是择(zé)其善者而选之。
诸如(rú)谷歌(gē)、阿里等面对大(dà)量非结构化数据的(de)互联网巨头(tóu),自(zì)然成(chéng)了分(fèn)布式架构的重视拥趸,阿里甚(shèn)至在2009年掀(xiān)起了一场”去(qù)IOE”运动。但(dàn)对于制造业、金融业等需要敏捷(jié)开发的行业,集中式架构的适用性要优(yōu)于分布式架构(gòu),用一台机器集中解决(jué)IT问题,在空间成本(běn)、运(yùn)营、管理(lǐ)、软件许可成本等方(fāng)面优势的优势不无(wú)明显。
一个直观的案例,在全(quán)球(qiú)银行百强的采购名(míng)单中,2019年(nián)依然有92%的(de)银行购(gòu)买了(le)集(jí)中式架构的服务器。特(tè)别是多云、混合云等趋势(shì)下,客户的架构选择不再像(xiàng)以前(qián)那么单一(yī),分布式和集(jí)中式架构的应用场景,不再只是行(háng)业间的(de)差异,逐步(bù)细化到了应用场(chǎng)景上。
比(bǐ)如某银行在对高稳定性、高安全性有着苛刻的要求(qiú),并注重关键应(yīng)用的秒级灾备能力,以及强调数据完整性(xìng)的场景上,集中式架构(gòu)仍然(rán)是最好的选(xuǎn)择(zé);在互联网金融等需要(yào)快速创(chuàng)新(xīn)的业务中(zhōng),流(liú)量上存在较大的弹性和不确定性,对可(kě)扩展性有着明显的刚(gāng)需,选择分布式架(jià)构可以说是最正确(què)的结果。
招商银(yín)行(háng)与(yǔ)浪潮商用机器的(de)合作就是个例子。招商银(yín)行(háng)选择了集中(zhōng)式和分布式融合的的(de)IT基础架构,以业务和IT的(de)适用性选择平台,比如招商银行的核(hé)心系(xì)统跑在浪潮Power服(fú)务器上,信用卡业务基于X86系统(tǒng)。如此选择的好处不无明显,既能满足成熟业(yè)务(wù)高效、稳定、安全(quán)运行(háng)的要求,同时支持新业(yè)务(wù)的创(chuàng)新,还能保护已有投资的延续性。
借(jiè)用浪潮商用(yòng)机器总经理胡雷钧(jun1)的观点:“未来(lái)的选择(zé)一定是多(duō)样化的,每(měi)个用户都可以根据实际需求选择适合(hé)自己的方(fāng)案。”毕竟客户的应(yīng)用(yòng)在(zài)高(gāo)速变化(huà),不同(tóng)业务对安全性和灵活部署(shǔ)有着不同的偏好(hǎo),只依靠一种架构注(zhù)定是不现实(shí)的。
难题其实留给了大(dà)大小小的IT服(fú)务商(shāng)们,客户需要的不是集中式与分布式架构之间(jiān)的单项选择题,需要针对具(jù)体的场景制定相应的方案,分布(bù)式架构(gòu)也好,集中式架构也罢,没有本质上的孰优孰(shú)劣,无非是(shì)适合什(shí)么样的场(chǎng)景而已。
也就不难给分布式架构(gòu)和集中式架构(gòu)长达30年的讨论做一个注脚(jiǎo),所有的技术专(zhuān)家(jiā)都可以有自己的立场(chǎng),可(kě)脱离了场景谈(tán)优劣,无异于(yú)“耍流(liú)氓”。
历(lì)史上的伯罗奔尼撒(sā)战(zhàn)争,以斯巴达一方的胜利收场(chǎng),代价却是斯巴达不惜牺牲希腊的(de)长远利益,选(xuǎn)择和宿敌(dí)波斯联盟,最终在战争中摧毁了(le)希腊文明的基础,整个希(xī)腊世界开始由盛转(zhuǎn)衰。
无论是(shì)集中(zhōng)式(shì)阵(zhèn)营,还是分布式阵营,无不是穿梭在(zài)商业游戏中(zhōng)的聪明人,注定(dìng)不会只知对抗,不懂平衡,重蹈伯罗奔尼撒战争的覆辙。一个比(bǐ)较(jiào)乐观的消息是,几(jǐ)乎所有(yǒu)公司(sī)在选择(zé)架构时,务实和理性都战(zhàn)胜了主观上(shàng)的情感(gǎn)偏好。
同时集中式架构和(hé)分布式(shì)架构的(de)“争(zhēng)夺”,越发像道家太极(jí)里(lǐ)的阴阳(yáng),一时的涨消并(bìng)不重要,关键(jiàn)是二者处于(yú)一种和谐共生的平衡(héng)中。比如(rú)浪(làng)潮在集中式架构的服(fú)务器(qì)上推出(chū)了分布式的存储解决方案,金融行业中(zhōng)也出现了分布式(shì)数据部署在集中式架构的尝试。
集(jí)中式与(yǔ)分布式不再(zài)是替代关系,而是融合关(guān)系。何况“软件定义”正逐(zhú)渐成为IT领(lǐng)域的(de)主旋律,大(dà)量的云计算(suàn)软(ruǎn)件和云(yún)应(yīng)用可以无差(chà)别运行(háng)在不同的硬件架构上,也在加速(sù)分(fèn)布式架构和集中(zhōng)式架构的融(róng)合(hé)。