云原生入門-名詞術(shù)語(yǔ)-
Pivotal公司的Matt Stine首次提出云原生(CloudNative)的概念;
云原生剛推廣時(shí),Matt Stine在《遷移到云原生架構(gòu)》一書中定義了符合云原生架構(gòu)的幾個(gè)特征:12因素、微服務(wù)、自敏捷架構(gòu)、基于API協(xié)作、扛脆弱性;
“12要素”英文全稱是The Twelve-Factor App,最初由Heroku的工程師首次提出并開源,并由眾多經(jīng)驗(yàn)豐富的開發(fā)者共同完善。
微服務(wù)(MicroServices) 隨著業(yè)務(wù)越來越復(fù)雜,業(yè)務(wù)架構(gòu)也經(jīng)歷了不斷變化和演進(jìn),每一次演進(jìn)都是為了解決上一代系統(tǒng)架構(gòu)的痛點(diǎn)
第一代單體架構(gòu)把所有業(yè)務(wù)依賴的組件、庫(kù)全部打包到一個(gè)執(zhí)行程序,業(yè)務(wù)相互調(diào)用,大大增加了系統(tǒng)復(fù)雜度,導(dǎo)致系統(tǒng)維護(hù)成本高,改動(dòng)影響大,發(fā)布風(fēng)險(xiǎn)高;并且系統(tǒng)完全封閉,內(nèi)部組件不能共享給其他組件調(diào)用,導(dǎo)致產(chǎn)品能力不能共享,大大降低開發(fā)效率。
第二代面向服務(wù)架構(gòu)SOA(Service Oriented Architecture)是一種設(shè)計(jì)方法,其中包含多個(gè)服務(wù), 服務(wù)之間通過相互依賴最終提供一系列的功能。一個(gè)服務(wù)通常以獨(dú)立的形式存在與操作系統(tǒng)進(jìn)程中,各個(gè)服務(wù)之間通過網(wǎng)絡(luò)調(diào)用。
第三代微服務(wù)架構(gòu)是在 SOA 上做的升華,微服務(wù)架構(gòu)強(qiáng)調(diào)的一個(gè)重點(diǎn)是“業(yè)務(wù)需要徹底的組件化和服務(wù)化”,原有的單個(gè)業(yè)務(wù)系統(tǒng)會(huì)拆分為多個(gè)可以獨(dú)立開發(fā)、設(shè)計(jì)、運(yùn)行的小應(yīng)用。這些小應(yīng)用之間通過服務(wù)完成交互和集成。
SOA架構(gòu)和微服務(wù)架構(gòu)的區(qū)別:
SOA
微服務(wù)
應(yīng)用程序服務(wù)的可重用性的最大化
專注于解耦
系統(tǒng)性的改變需要修改整體
系統(tǒng)性的改變是創(chuàng)建一個(gè)新的服務(wù)
DevOps和持續(xù)交付正在變得流行,但還不是主流
強(qiáng)烈關(guān)注DevOps和持續(xù)交付
專注于業(yè)務(wù)功能重用
更重視“上下文邊界”的概念
通信使用企業(yè)服務(wù)總線ESB
對(duì)于通信而言,使用較少精細(xì)和簡(jiǎn)單的消息系統(tǒng)
支持多種消息協(xié)議
使用輕量級(jí)協(xié)議,例如HTTP,REST或Thrift API
對(duì)部署到它的所有服務(wù)使用通用平臺(tái)
應(yīng)用程序服務(wù)器不是真的被使用,通常使用云平臺(tái)
容器(如Docker)的使用不太受歡迎
容器在微服務(wù)方面效果很好
SOA服務(wù)共享數(shù)據(jù)存儲(chǔ)
每個(gè)微服務(wù)可以有一個(gè)獨(dú)立的數(shù)據(jù)存儲(chǔ)
共同的治理和標(biāo)準(zhǔn)
輕松的治理,更加關(guān)注團(tuán)隊(duì)協(xié)作和選擇自由
微服務(wù)架構(gòu)確實(shí)有很多吸引人的地方,然而它的引入也是有成本的,它并不是銀彈,使用它會(huì)引入更多技術(shù)挑戰(zhàn),比如性能延遲、分布式事務(wù)、集成測(cè)試、故障診斷等方面,企業(yè)需要根據(jù)業(yè)務(wù)的不同的階段進(jìn)行合理的引入,不能完全為了微服務(wù)而“微服務(wù)”。
2017年,Matt Stine在接受InfoQ采訪時(shí)又改了口風(fēng),將云原生架構(gòu)歸納為模塊化、可觀察、可部署、可測(cè)試、可替換、可處理6特質(zhì);
而Pivotal最新官網(wǎng)對(duì)云原生概括為4個(gè)要點(diǎn):DevOps+持續(xù)交付+微服務(wù)+容器。
云原生 Docker
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。