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