En 400-6655-581
5
返回列表
> 資源中心 > 技術(shù)干貨 | 服務(wù)編排前傳—緣起

技術(shù)干貨 | 服務(wù)編排前傳—緣起

2020-01-22瀏覽次數(shù):1317

微服務(wù)的由來


期的應(yīng)用內(nèi)部功能由于不需要對(duì)外提供業(yè)務(wù),導(dǎo)致內(nèi)部耦合度非常高,都是作為應(yīng)用整體的一部分而無法分割,這就為后續(xù)迭代和新增的功能帶來了很多問題,其中最直接的問題就是應(yīng)用越來越難以維護(hù),增加了大量成本和不確定的風(fēng)險(xiǎn)。




后來發(fā)展到基于模塊化堆積木的方式,那也僅限于應(yīng)用業(yè)務(wù)需求本身,卻無法對(duì)外提供獨(dú)立的服務(wù),像火車,傳統(tǒng)的方式就像在固定的車廂上不斷增加負(fù)荷,而模塊化后只是固定了每節(jié)車廂的重量,按需求來掛接車廂,解決了車箱多少。但這些都沒有考慮火車能拉多少重量和各車廂(功能)是否可被第三方所共享使用的問題。





如果說鐵路是軟件平臺(tái),火車是進(jìn)程,那么車廂就是平臺(tái)上的各個(gè)功能服務(wù),車站的檢票口就是接口了,而對(duì)于在鐵路線上的各個(gè)車站只有在某個(gè)時(shí)刻才能享受到該列車的服務(wù),而想要登上該列車,途徑就是通過車站的統(tǒng)一檢票口,當(dāng)然扒火車也成,可那屬于黑客行為,是非法的,大多數(shù)車站都為每趟列車提供了一個(gè)對(duì)應(yīng)的檢票口,對(duì)于軟件來說,這就是用戶登錄的入口了,上去了才可以享受各個(gè)車廂的服務(wù),可車廂(功能)本身并不對(duì)外提供服務(wù)(接口)。那么怎么解決這個(gè)問題呢?用專列,讓功能上升為整個(gè)服務(wù)與檢票口對(duì)接,當(dāng)然,此專列非領(lǐng)導(dǎo)人專列,只要大部分車廂功能一致,對(duì)外統(tǒng)一就好。





原來一列火車由軍備、醫(yī)療、貨物、旅客等不同車廂(功能)組成的列車服務(wù),換成專列(軍列、貨車、客車)后,意味著車廂功能上升為整個(gè)列車的服務(wù),與各站的檢票口對(duì)接成為單獨(dú)對(duì)外的服務(wù)窗口(接口),如果該專列供不應(yīng)求還可以多開幾列,意味著同一個(gè)時(shí)刻不同的車站都可以享受同樣的服務(wù),不同的時(shí)刻在相同的車站也可以享受到不同的服務(wù)。這對(duì)應(yīng)到軟件把功能獨(dú)立對(duì)外提供的服務(wù)就是微服務(wù)了。



為什么要用微服務(wù)?




應(yīng)用功能微服務(wù)化后,各功能之間的關(guān)聯(lián)形成了低耦合模式,迭代和維護(hù)不再變得困難,診斷問題也變得不再復(fù)雜,微服務(wù)技術(shù)的應(yīng)用給業(yè)務(wù)注入了新生力量,極大地改善了整個(gè)IT環(huán)境。


現(xiàn)在微服務(wù)的由來和為什么要用微服務(wù)我們就說到這,微服務(wù)一來,接口自然也就越來越多,接口是需要交互的,否則就沒有存在的意義。


接口的安全可以交給API網(wǎng)關(guān)負(fù)責(zé),那么接口的調(diào)度呢?


這就是要聊到服務(wù)的編排了,為方便說明,咱們先說說企業(yè)內(nèi)部用得比較多的ESB,ESB是企業(yè)的數(shù)據(jù)總線,能解決企業(yè)內(nèi)部各應(yīng)用系統(tǒng)的接口交互問題,以前做接口,如果有n個(gè)應(yīng)用需要相互數(shù)據(jù)同步,則每個(gè)應(yīng)用都需要做n-1個(gè)接口,有了ESB后每個(gè)應(yīng)用只需要做一個(gè)接口,也就是說所用的應(yīng)用只需與ESB做接口就可以了,這就是個(gè)簡單的調(diào)度器,但解決了企業(yè)應(yīng)用之間交互的大問題。



而在基于互聯(lián)網(wǎng)和微服務(wù)模式下的服務(wù)編排至少需要滿足智能終端和啞管道的微服務(wù)通信原則,從這點(diǎn)上企業(yè)ESB就已不再合適,所以尋求符合微服務(wù)通信原則下的服務(wù)編排,逐漸成為在微服務(wù)環(huán)境下存在大量API業(yè)務(wù)需求的重要目標(biāo)。