很多人對(duì)微服務(wù)架構(gòu)是什么并不了解。想要知道微服務(wù)架構(gòu),先讓我們來(lái)看一下微服務(wù)是什么。微服務(wù)其實(shí)是一種架構(gòu)風(fēng)格,是由一個(gè)或者多個(gè)微服務(wù)組成,它是大型的復(fù)雜應(yīng)用軟件。在這個(gè)大型復(fù)雜的系統(tǒng)中,每個(gè)微服務(wù)都可以被獨(dú)立部署,而每個(gè)微服務(wù)之間是松耦合的,只要關(guān)心完成一件任務(wù)就可了。簡(jiǎn)單的說(shuō)就是講一個(gè)軟件系統(tǒng)進(jìn)行拆分,拆分之后,可以讓這個(gè)應(yīng)用系統(tǒng)變得更加的高效。
1.微服務(wù)架構(gòu)是什么
微服務(wù)架構(gòu)其實(shí)沒(méi)有一個(gè)非常準(zhǔn)確的定義,大概描述的是一個(gè)大型復(fù)雜軟件應(yīng)用系統(tǒng)由若干個(gè)微服務(wù)組成。系統(tǒng)中的各個(gè)微服務(wù)能被獨(dú)立部署和擴(kuò)展,每個(gè)微服務(wù)還能提供一個(gè)穩(wěn)固的模塊邊界。各個(gè)微服務(wù)之間是松耦合的,微服務(wù)很小,專注于做好一件事情。
微服務(wù)框架帶了良好的技術(shù)異構(gòu)性、彈性、擴(kuò)展性,它的簡(jiǎn)化部署為持續(xù)交付提供了巨大推動(dòng)力。但是它同時(shí)也帶來(lái)一些挑戰(zhàn),比如分布式事務(wù)一致性,網(wǎng)絡(luò)性能消耗等問(wèn)題。所以選用的時(shí)候要結(jié)合實(shí)際業(yè)務(wù)考慮,若想深入學(xué)習(xí)的話建議使用些現(xiàn)成的一些大廠商開(kāi)源的微服務(wù)框架開(kāi)發(fā)試試手,用一用spring cloud、servicecomb。
2.架構(gòu)風(fēng)格
所謂的架構(gòu)風(fēng)格就是項(xiàng)目的一種設(shè)計(jì)模式。而我們常見(jiàn)的程序設(shè)計(jì)模式有以下的四種方式。后面對(duì)于每個(gè)模式的優(yōu)缺點(diǎn)進(jìn)行了詳細(xì)的比較。
常見(jiàn)的架構(gòu)風(fēng)格
客戶端與服務(wù)器端 :包括C/S 和B/S兩種,而B(niǎo)/S比較特殊。
基于組件模型的架構(gòu)(EJB)
分層架構(gòu)(MVC)
面向服務(wù)架構(gòu)(SOA)
3.微服務(wù)特點(diǎn)
1)系統(tǒng)是有多個(gè)服務(wù)構(gòu)成
2)每個(gè)服務(wù)可以單獨(dú)獨(dú)立部署
3)每個(gè)服務(wù)之間是松耦合的。服務(wù)內(nèi)部是高內(nèi)聚的,外部是低耦合的,也是比較符合軟件設(shè)計(jì)原則的,高內(nèi)聚就是每個(gè)服務(wù)內(nèi)部的關(guān)系是非常密切的,每個(gè)服務(wù)之間只關(guān)注完成一個(gè)功能。
4.微服務(wù)的優(yōu)點(diǎn)、缺點(diǎn)
優(yōu)點(diǎn):測(cè)試容易
可伸縮性強(qiáng)
可靠性強(qiáng)
跨語(yǔ)言程度會(huì)更加靈活
團(tuán)隊(duì)協(xié)作容易
系統(tǒng)迭代容易
缺點(diǎn):運(yùn)維成本過(guò)高,部署數(shù)量較多
接口兼容多版本
分布式系統(tǒng)的復(fù)雜性
分布式事務(wù)
通過(guò)上述介紹, 微服務(wù)架構(gòu)是什么相信大家已經(jīng)清楚了吧,想了解更多關(guān)于 微服務(wù)架構(gòu)的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。