-
2019年(nián)主(zhǔ)流雲(yún)提(tí)供商微服(fú)務(wù)技術(shù)動(dòng)态盤點(diǎn):生(shēng)态之(zhī)争!
2019-06-04如(rú)果(guǒ)要(yào)問(wèn)2019年(nián)雲(yún)計(jì)算領域的(de)最(zuì)新(xīn)趨势是(shì)什(shén)麼(me)?微服(fú)務(wù)一(yī)定(dìng)算一(yī)个(gè)!
那(nà)麼(me),什(shén)麼(me)是(shì)微服(fú)務(wù)?從概念上理解(jiě),微服(fú)務(wù)架构(Microservice Architecture)是(shì)一(yī)種(zhǒng)架构,旨在(zài)通(tòng)过(guò)将功能(néng)分(fēn)解(jiě)到(dào)各(gè)个(gè)離散(sàn)的(de)服(fú)務(wù)中(zhōng)以(yǐ)實(shí)現(xiàn)对(duì)解(jiě)決方(fāng)案(àn)的(de)解(jiě)耦。所(suǒ)謂天(tiān)下(xià)之(zhī)事(shì),分(fēn)久必合合久必分(fēn),微服(fú)務(wù)架构和(hé)过(guò)去(qù)集中(zhōng)化(huà)架构剛好(hǎo)相反(fǎn),主(zhǔ)要(yào)作用(yòng)是(shì)将功能(néng)分(fēn)解(jiě)到(dào)離散(sàn)的(de)各(gè)个(gè)服(fú)務(wù)當中(zhōng),從而(ér)降低(dī)系(xì)統的(de)耦合性(xìng),並(bìng)提(tí)供更加靈活的(de)服(fú)務(wù)支持(chí)。说(shuō)白(bái)了(le),微服(fú)務(wù)就(jiù)是(shì)把(bǎ)过(guò)去(qù)的(de)大(dà)型應(yìng)用(yòng)系(xì)統进行拆分(fēn),變(biàn)成(chéng)若干(gàn)个(gè)單元(yuán)。
微服(fú)務(wù)架构有(yǒu)三(sān)个(gè)特性(xìng),即:單一(yī)職責、轻量(liàng)级通(tòng)信(xìn)、獨立性(xìng)、进程隔離。有(yǒu)人(rén)可能(néng)会(huì)说(shuō),这(zhè)和(hé)SOA很像呀?其(qí)實(shí),微服(fú)務(wù)和(hé)SOA有(yǒu)着本(běn)質(zhì)上的(de)區(qū)别。
首先(xiān),微服(fú)務(wù)喜歡重(zhòng)写(xiě),SOA則喜歡重(zhòng)用(yòng)。微服(fú)務(wù)通(tòng)常由(yóu)重(zhòng)写(xiě)一(yī)个(gè)模块(kuài)開(kāi)始(shǐ)。向(xiàng)微服(fú)務(wù)迁移的(de)时(shí)候,通(tòng)过(guò)最(zuì)新(xīn)的(de)技術(shù)、語(yǔ)言和(hé)框架,把(bǎ)每一(yī)个(gè)模块(kuài)單獨部(bù)署(shǔ),不(bù)依賴于(yú)其(qí)他服(fú)務(wù)。而(ér)SOA的(de)主(zhǔ)要(yào)目的(de)是(shì)为(wèi)了(le)企業各(gè)个(gè)系(xì)統更加容易地融合在(zài)一(yī)起(qǐ)。
其(qí)次(cì),微服(fú)務(wù)是(shì)垂直(zhí)服(fú)務(wù),而(ér)SOA是(shì)水(shuǐ)平服(fú)務(wù)。微服(fú)務(wù)通(tòng)常直(zhí)接面(miàn)对(duì)用(yòng)戶,为(wèi)用(yòng)戶提(tí)供某个(gè)功能(néng)。 類(lèi)似的(de)功能(néng)可能(néng)針(zhēn)对(duì)手(shǒu)機(jī)有(yǒu)一(yī)个(gè)服(fú)務(wù),針(zhēn)对(duì)機(jī)頂盒是(shì)另外(wài)一(yī)个(gè)服(fú)務(wù)。每个(gè)微服(fú)務(wù)通(tòng)常有(yǒu)它(tā)自(zì)己獨立的(de)datastore。而(ér)SOA設計(jì)則喜歡給(gěi)服(fú)務(wù)分(fēn)层(céng)(如(rú)Service Layers模式)。 比如(rú):Entity服(fú)務(wù)层(céng)設計(jì),要(yào)求所(suǒ)有(yǒu)的(de)服(fú)務(wù)都通(tòng)过(guò)这(zhè)个(gè)Entity来(lái)獲取(qǔ)數據(jù)。 这(zhè)種(zhǒng)設計(jì)靈活性(xìng)非常差,每次(cì)數據(jù)层(céng)的(de)改動(dòng)都可能(néng)影響到(dào)所(suǒ)有(yǒu)業務(wù)层(céng)的(de)服(fú)務(wù)。
其(qí)三(sān),微服(fú)務(wù)是(shì)自(zì)下(xià)而(ér)上,而(ér)SOA是(shì)自(zì)上而(ér)下(xià)。微服(fú)務(wù)相对(duì)敏捷,能(néng)快(kuài)速确認業務(wù)需求,快(kuài)速迭代(dài)開(kāi)發(fà)。而(ér)SOA架构是(shì)集中(zhōng)管(guǎn)理所(suǒ)有(yǒu)服(fú)務(wù),包(bāo)括業務(wù)邏輯,數據(jù),流程等等。 模块(kuài)系(xì)統間(jiān)的(de)通(tòng)訊必須遵守接口(kǒu)協議。
微服(fú)務(wù)架构大(dà)概誕生(shēng)于(yú)2012年(nián),從2014年(nián)開(kāi)始(shǐ)被(bèi)業界高(gāo)度(dù)關(guān)注。2018年(nián),可以(yǐ)说(shuō)是(shì)微服(fú)務(wù)的(de)爆發(fà)年(nián),幾(jǐ)乎所(suǒ)有(yǒu)的(de)IT架构都在(zài)向(xiàng)微服(fú)務(wù)架构迁移。
那(nà)麼(me), 微服(fú)務(wù)能(néng)給(gěi)企業带(dài)来(lái)哪些(xiē)價值?作为(wèi)雲(yún)計(jì)算的(de)主(zhǔ)流趨势,各(gè)大(dà)雲(yún)計(jì)算廠(chǎng)商在(zài)微服(fú)務(wù)技術(shù)戰略布(bù)局(jú)方(fāng)面(miàn),有(yǒu)哪些(xiē)新(xīn)的(de)動(dòng)态?本(běn)文(wén)将一(yī)一(yī)梳理。
1、微软(ruǎn)Azure:開(kāi)放(fàng)Service Fabric源代(dài)碼
2018年(nián)3月(yuè)14日(rì),微软(ruǎn)将Service Fabric開(kāi)源。根(gēn)據(jù)MIT許可證協議,Service Fabric可在(zài)GitHub社區(qū)上公(gōng)開(kāi)使用(yòng)。Service Fabric最(zuì)初叫Windows Fabric,是(shì)微软(ruǎn)的(de)Azure平台(tái)即服(fú)務(wù)2.0微服(fú)務(wù)平台(tái)。
盡管(guǎn)開(kāi)放(fàng)Service Fabric後(hòu),微软(ruǎn)依然掌握着主(zhǔ)控權,但对(duì)于(yú)想(xiǎng)做分(fēn)布(bù)式架构的(de)企業来(lái)说(shuō),Service Fabric的(de)開(kāi)源,将給(gěi)用(yòng)戶带(dài)来(lái)了(le)技術(shù)上的(de)更多(duō)選擇。從某種(zhǒng)程度(dù)上说(shuō),Service Fabric和(hé)Kubernetes存在(zài)着直(zhí)接競争關(guān)系(xì),Service Fabric也(yě)可以(yǐ)用(yòng)作業務(wù)流程、打(dǎ)包(bāo)、部(bù)署(shǔ)及(jí)維護應(yìng)用(yòng)程序和(hé)容器。
2、阿里(lǐ)雲(yún):将ACM配置管(guǎn)理商用(yòng),将Spring Cloud Alibaba開(kāi)源,加碼微服(fú)務(wù)生(shēng)态建設
2018年(nián)10月(yuè)份,阿里(lǐ)雲(yún)宣布(bù)應(yìng)用(yòng)配置管(guǎn)理ACM商用(yòng),可保證大(dà)型客戶雲(yún)上场(chǎng)景配置中(zhōng)心(xīn)的(de)安(ān)全(quán)合規,让運維人(rén)員和(hé)開(kāi)發(fà)者(zhě)無需擔心(xīn)實(shí)时(shí)配置过(guò)程中(zhōng)人(rén)为(wèi)誤操作带(dài)来(lái)的(de)干(gàn)擾。據(jù)介紹,ACM是(shì)國(guó)內(nèi)首家(jiā)實(shí)現(xiàn)千(qiān)级應(yìng)用(yòng)万(wàn)级配置下(xià),推送秒(miǎo)级生(shēng)效的(de)服(fú)務(wù)。該産品具備亿(yì)级應(yìng)用(yòng)配置處(chù)理能(néng)力,将分(fēn)布(bù)式架构下(xià)的(de)應(yìng)用(yòng)配置管(guǎn)理智能(néng)化(huà),极(jí)大(dà)的(de)降低(dī)了(le)在(zài)微服(fú)務(wù)、Devops、大(dà)數據(jù)等场(chǎng)景下(xià)配置管(guǎn)理的(de)工作量(liàng)。
2018年(nián)11月(yuè)份,阿里(lǐ)巴巴又宣布(bù)将 Spring Cloud Alibaba開(kāi)源,加碼微服(fú)務(wù)生(shēng)态建設。Spring Cloud Alibaba項目由(yóu)两(liǎng)部(bù)分(fēn)组成(chéng):阿里(lǐ)巴巴開(kāi)源组件(jiàn)和(hé)阿里(lǐ)雲(yún)産品组件(jiàn),旨在(zài)为(wèi)Java開(kāi)發(fà)人(rén)員在(zài)使用(yòng)阿里(lǐ)巴巴産品的(de)同(tóng)时(shí),通(tòng)过(guò)利用(yòng) Spring 框架的(de)設計(jì)模式和(hé)抽象能(néng)力,注入Spring Boot和(hé)Spring Cloud的(de)優势。
ACM是(shì)國(guó)內(nèi)首家(jiā)實(shí)現(xiàn)千(qiān)级應(yìng)用(yòng)万(wàn)级配置下(xià),推送秒(miǎo)级生(shēng)效的(de)服(fú)務(wù)。該産品商用(yòng)後(hòu),将大(dà)大(dà)降低(dī)了(le)企業在(zài)微服(fú)務(wù)场(chǎng)景下(xià)的(de)工作量(liàng)。ACM能(néng)让配置信(xìn)息自(zì)動(dòng)推送到(dào)各(gè)个(gè)服(fú)務(wù)器,並(bìng)在(zài)秒(miǎo)级延迟內(nèi)生(shēng)。
而(ér)spring-cloud-alibaba實(shí)現(xiàn)開(kāi)源後(hòu),阿里(lǐ)也(yě)真(zhēn)正(zhèng)想(xiǎng)世界级雲(yún)提(tí)供商邁进了(le)一(yī)步。Spring Cloud本(běn)身(shēn)是(shì)一(yī)套(tào)微服(fú)務(wù)規范,並(bìng)不(bù)是(shì)一(yī)个(gè)拿来(lái)即可用(yòng)的(de)框架,而(ér) Spring Cloud Alibaba的(de)開(kāi)源为(wèi)開(kāi)發(fà)者(zhě)们(men)提(tí)供了(le)这(zhè)套(tào)規范的(de)實(shí)現(xiàn)方(fāng)式。Spring Cloud Alibaba的(de)组件(jiàn)屬于(yú)自(zì)主(zhǔ)可控産品,根(gēn)據(jù)阿里(lǐ)巴巴內(nèi)部(bù)自(zì)用(yòng)的(de)中(zhōng)間(jiān)件(jiàn)産品孵化(huà)而(ér)来(lái)。
3、華为(wèi)雲(yún):深化(huà)微服(fú)務(wù)行業應(yìng)用(yòng)
華为(wèi)雲(yún)于(yú)2017年(nián)5月(yuè)開(kāi)始(shǐ),陸續開(kāi)源了(le)ServiceComb、 Go語(yǔ)言微服(fú)務(wù)框架、和(hé)Service Mesh産品Mesher,功能(néng)覆蓋了(le)侵入式SDK、非侵入式Service Mesh、多(duō)語(yǔ)言等全(quán)棧微服(fú)務(wù)能(néng)力。2018年(nián)9月(yuè)份,華为(wèi)雲(yún)發(fà)布(bù)微服(fú)務(wù)标準規范终稿,從而(ér)进一(yī)步深化(huà)微服(fú)務(wù)在(zài)行業中(zhōng)的(de)應(yìng)用(yòng),促进行業健康發(fà)展(zhǎn)。
華为(wèi)雲(yún)的(de)微服(fú)務(wù)技術(shù)理念,更側重(zhòng)提(tí)供一(yī)站式解(jiě)決方(fāng)案(àn),致(zhì)力于(yú)帮助企業轻松构建雲(yún)原生(shēng)應(yìng)用(yòng),帮助传統企業業務(wù)快(kuài)速微服(fú)務(wù)化(huà)。2018年(nián),華为(wèi)雲(yún)開(kāi)始(shǐ)在(zài)行業領域深耕细(xì)作,帮助用(yòng)戶快(kuài)速開(kāi)發(fà)微服(fú)務(wù),並(bìng)对(duì)这(zhè)些(xiē)微服(fú)務(wù)應(yìng)用(yòng)进行高(gāo)效管(guǎn)理。
4、騰訊雲(yún):發(fà)布(bù)微服(fú)務(wù)中(zhōng)間(jiān)件(jiàn)TSF
2018年(nián)1月(yuè)22日(rì),騰訊雲(yún)正(zhèng)式發(fà)布(bù)微服(fú)務(wù)中(zhōng)間(jiān)件(jiàn)TSF(Tencent Service Framework)。这(zhè)个(gè)圍繞應(yìng)用(yòng)和(hé)微服(fú)務(wù)的(de) PaaS 平台(tái),将为(wèi)企業解(jiě)決IT系(xì)統複杂、升(shēng)级迭代(dài)慢(màn)、運維擴展(zhǎn)性(xìng)差、海(hǎi)量(liàng)用(yòng)戶支撐能(néng)力薄弱、數據(jù)孤島(dǎo)等一(yī)系(xì)列難題(tí),帮助传統企業快(kuài)速构建面(miàn)向(xiàng)互聯网亿(yì)万(wàn)用(yòng)戶的(de)大(dà)規模分(fēn)布(bù)式架构,降低(dī)企業IT成(chéng)本(běn),助力企業雲(yún)化(huà)升(shēng)级轉(zhuǎn)型。
TSF被(bèi)稱为(wèi)是(shì)久经錘煉的(de)一(yī)站式微服(fú)務(wù)解(jiě)決方(fāng)案(àn),能(néng)为(wèi)传統企業互聯网的(de)轉(zhuǎn)型賦能(néng)。这(zhè)種(zhǒng)微服(fú)務(wù)架构改變(biàn)了(le)传統架构的(de)性(xìng)能(néng)瓶(píng)頸,降低(dī)系(xì)統的(de)複杂性(xìng),让企業在(zài)自(zì)建雲(yún)平台(tái)过(guò)程中(zhōng),擁有(yǒu)大(dà)規模的(de)分(fēn)布(bù)式架构。
5、華为(wèi)雲(yún):Go Chassis正(zhèng)式問(wèn)世
2018年(nián)1月(yuè)份 ,華为(wèi)雲(yún)CSE(Cloud Service Engine)産品级Go語(yǔ)言微服(fú)務(wù)框架Go Chassis正(zhèng)式問(wèn)世。借(jiè)助CSE Go Chassis进行微服(fú)務(wù)開(kāi)發(fà),可最(zuì)大(dà)化(huà)地降低(dī)開(kāi)發(fà)門(mén)檻,提(tí)升(shēng)産品上線(xiàn)速度(dù),同(tóng)时(shí)可以(yǐ)獲得微服(fú)務(wù)運行时(shí)高(gāo)可靠性(xìng)保證、态治理等一(yī)系(xì)列開(kāi)箱(xiāng)即用(yòng)的(de)能(néng)力。
華为(wèi)雲(yún)發(fà)布(bù)消息稱,華为(wèi)雲(yún)CSE微服(fú)務(wù)引擎是(shì)業界首个(gè)商用(yòng)的(de)企業级微服(fú)務(wù)應(yìng)用(yòng)管(guǎn)理平台(tái),包(bāo)含微服(fú)務(wù)Java SDK、Go SDK、Mesher,为(wèi)用(yòng)戶提(tí)供統一(yī)的(de)服(fú)務(wù)注册、配置和(hé)治理控制台(tái),可轻松實(shí)現(xiàn)微服(fú)務(wù)應(yìng)用(yòng)的(de)快(kuài)速開(kāi)發(fà)和(hé)高(gāo)效運維。
在(zài)微服(fú)務(wù)技術(shù)添磚(zhuān)加瓦(wǎ)的(de)企業還(huán)有(yǒu)很多(duō),在(zài)这(zhè)里(lǐ)就(jiù)不(bù)一(yī)一(yī)列舉。雖(suī)然微服(fú)務(wù)架构也(yě)存在(zài)各(gè)種(zhǒng)問(wèn)題(tí),比如(rú)缺乏公(gōng)認的(de)标準和(hé)規劃(huà),但微服(fú)務(wù)架构能(néng)成(chéng)为(wèi)當前(qián)最(zuì)热(rè)的(de)理念,不(bù)是(shì)憑空(kōng)産生(shēng),是(shì)雲(yún)計(jì)算發(fà)展(zhǎn)的(de)必然結果(guǒ)。企業要(yào)根(gēn)據(jù)公(gōng)司實(shí)力,結合自(zì)身(shēn)特點(diǎn),選擇适合的(de)微服(fú)務(wù)架构平台(tái)。




