亚洲日本欧美日韩高观看,性高湖久久久久久久久,亚洲av成人噜噜无码网站,亚洲欧美日韩国产一区二区动图,亚洲欧美日韩国产精品一区二区


學(xué)AI,好工作 就找北大青鳥
關(guān)注小青 聽課做題,輕松學(xué)習(xí)
周一至周日
4000-9696-28

什么?你還不知道微服務(wù)是啥!

來源:北大青鳥總部 2023年01月09日 12:14

摘要: 互聯(lián)網(wǎng)技術(shù)架構(gòu)的演變的節(jié)點(diǎn):?jiǎn)误w架構(gòu)-->集群架構(gòu)-->分布式架構(gòu)-->微服務(wù)架構(gòu),最終才到了現(xiàn)在的比較火的微服務(wù)架構(gòu)。

話說最近幾年微服務(wù)可謂是生龍活虎,不亞于任何網(wǎng)紅明星(IT圈),從各大互聯(lián)網(wǎng)公司都在相繼建設(shè)微服務(wù),到現(xiàn)在就連幾個(gè)人的小公司也動(dòng)不動(dòng)就微服務(wù),仿佛現(xiàn)在不搞點(diǎn)微服務(wù)相關(guān)的技術(shù),就顯得很low了。

為了不讓廣大程序猿不被人看不起,能做一個(gè)可以昂首挺胸的程序猿,今天咱們就來談一談微服務(wù)。


互聯(lián)網(wǎng)技術(shù)架構(gòu)演變

為了讓大家能夠更好的了解什么是微服務(wù)架構(gòu),那就得先了解下微服務(wù)的前世今生。

其實(shí)互聯(lián)網(wǎng)發(fā)展到今天的狀態(tài),也是經(jīng)歷了很多次迭代,從最初的單體架構(gòu)到微服務(wù)架構(gòu)其實(shí)是一個(gè)很漫長(zhǎng)的旅程。

有幾次比較重要互聯(lián)網(wǎng)技術(shù)架構(gòu)的演變的節(jié)點(diǎn):單體架構(gòu)-->集群架構(gòu)-->分布式架構(gòu)-->微服務(wù)架構(gòu),最終才到了現(xiàn)在的比較火的微服務(wù)架構(gòu)。每一種技術(shù)架構(gòu)的演進(jìn)都伴隨著互聯(lián)網(wǎng)行業(yè)的發(fā)展,以及用戶數(shù)量的增加,同時(shí)也促進(jìn)了技術(shù)的快速更新迭代。這其實(shí)也是一部互聯(lián)網(wǎng)的發(fā)展史。

單體架構(gòu)

首先,咱們先來說下什么是單體架構(gòu)。顧名思義,單體就是一個(gè)獨(dú)立的個(gè)體,也就是一個(gè)項(xiàng)目的所有的功能模塊(比如訂單模塊,用戶模塊,商品模塊等)都集中一個(gè)項(xiàng)目當(dāng)中,最終打成一個(gè)war包,可以直接部署上線。

看似簡(jiǎn)單粗暴,但是對(duì)于那個(gè)處于草莽時(shí)代的互聯(lián)網(wǎng)來說,這種可以快速上線滿足業(yè)務(wù)需求的方式無疑也是最高好的方式。因?yàn)樵谶@個(gè)時(shí)期的用戶量很少,一個(gè)服務(wù)器就足撐起整個(gè)網(wǎng)站。



集群架構(gòu)

如果說單體架構(gòu)是一對(duì)一的單挑,那集群架構(gòu)就是打群架了。因?yàn)殡S著用戶量的增加,此時(shí)單一的服務(wù)器已經(jīng)無法支撐起用戶的訪問,動(dòng)不動(dòng)就掛掉的網(wǎng)站肯定是沒有人愿意使用的。

所以此時(shí)為了解決這個(gè)問題,人們就開始想辦法,一個(gè)服務(wù)器撐不了,那我就搞一對(duì);一對(duì)還不行,我就搞兩對(duì)...最終我們把同一個(gè)war包,同時(shí)部署到多個(gè)服務(wù)器上,終于搞定了,這就是我們的集群架構(gòu)時(shí)代。



分布式架構(gòu)

我們搞定的集群架構(gòu)的項(xiàng)目終于可以支撐起當(dāng)前用戶量了,但沒想到就在這個(gè)時(shí)期,也正是互聯(lián)網(wǎng)大爆發(fā)的時(shí)刻,用戶數(shù)呈指數(shù)級(jí)增長(zhǎng),原來的集群又面臨著挑戰(zhàn)。

這個(gè)已經(jīng)不是簡(jiǎn)單的增加服務(wù)器那么簡(jiǎn)單的事兒了,因?yàn)檫@個(gè)時(shí)期,互聯(lián)網(wǎng)業(yè)務(wù)已經(jīng)變的極其復(fù)雜。所以這次互聯(lián)網(wǎng)技術(shù)架構(gòu)的演進(jìn)是有了本質(zhì)上的改變,即分布式架構(gòu):分布式結(jié)構(gòu)就是將一個(gè)完整的系統(tǒng),按照業(yè)務(wù)功能,拆分成一個(gè)個(gè)獨(dú)立的子系統(tǒng)。

在分布式結(jié)構(gòu)中,每個(gè)子系統(tǒng)就被稱為“服務(wù)”。這些子系統(tǒng)能夠獨(dú)立運(yùn)行在web容器中,它們之間通過RPC方式通信(阿里開源Dubbo框架)。說人話就是將訂單模塊單獨(dú)部署到一個(gè)服務(wù)器,用戶模塊單獨(dú)部署到一個(gè)服務(wù)器上,商品模塊也可以單獨(dú)部署到一個(gè)服務(wù)器上。

不僅如此,每一個(gè)模塊又可以進(jìn)行集群部署,如下圖。此時(shí)的分布式架構(gòu)是可以滿足現(xiàn)在的業(yè)務(wù)需求的。而各個(gè)模塊之間的是通過RPC(遠(yuǎn)程服務(wù)調(diào)用)的方式來通信。



微服務(wù)架構(gòu)

我們剛才說了,分布式架構(gòu)是可以滿足現(xiàn)在大型互聯(lián)網(wǎng)的業(yè)務(wù)需求的,那為什么我們還要一個(gè)勁兒的非要搞什么微服務(wù)呢,所以我們不禁要這樣幾個(gè)問題:

  1. 什么是微服務(wù)?

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

  3. 它有什么好處?


什么是微服務(wù)

微服務(wù)的概念源于2014年3月Martin Fowler(微服務(wù)的提出者)所寫的一篇文章Microservices。

微服務(wù)是一種架構(gòu)風(fēng)格,一個(gè)大型復(fù)雜軟件應(yīng)用由一個(gè)或多個(gè)微服務(wù)組成。系統(tǒng)中的各個(gè)微服務(wù)可被獨(dú)立部署,各個(gè)微服務(wù)之間是松耦合的。每個(gè)微服務(wù)僅關(guān)注于完成一件任務(wù)并很好地完成該任務(wù)。在所有情況下,每個(gè)任務(wù)代表著一個(gè)小的業(yè)務(wù)能力。



上圖中每一個(gè)色塊都是一個(gè)服務(wù),翻譯一下就是微服務(wù)架構(gòu)是一種架構(gòu)的風(fēng)格,可以讓我們的業(yè)務(wù)模塊更加的細(xì)化。

如:商品模塊我們可以在細(xì)粒度的拆分,直到不可以拆分為止,那到底拆分的力度有多細(xì),要根據(jù)自己的業(yè)務(wù)情況和團(tuán)隊(duì)實(shí)力來評(píng)估。


這樣做的好處:

·不會(huì)牽一發(fā)動(dòng)全身

可以對(duì)微服務(wù)架構(gòu)中的每個(gè)組件服務(wù)進(jìn)行開發(fā)、部署、運(yùn)營和擴(kuò)展,而不影響其他服務(wù)的功能。

這些服務(wù)不需要與其他服務(wù)共享任何代碼或?qū)嵤8鱾€(gè)組件之間的任何通信都是通過明確定義的API進(jìn)行的。

·各司其職每項(xiàng)服務(wù)都是針對(duì)一組功能而設(shè)計(jì)的,并專注于解決特定的問題(支付模塊就解決支付的問題)。


為什么要引入微服務(wù)

從生產(chǎn)力和系統(tǒng)的復(fù)雜性這兩個(gè)方面來看。公司一開始的時(shí)候,業(yè)務(wù)復(fù)雜性不高,這時(shí)候是驗(yàn)證商業(yè)模式的時(shí)候,業(yè)務(wù)簡(jiǎn)單,用單體服務(wù)反而生產(chǎn)力很高。

隨著公司的發(fā)展,業(yè)務(wù)復(fù)雜性慢慢提高,這時(shí)候就可以采用微服務(wù)來提升生產(chǎn)力了。而事實(shí)證明,微服務(wù)架構(gòu)雖然對(duì)開發(fā)人員的要求提高了,但是從企業(yè)長(zhǎng)久發(fā)展來看,無論從系統(tǒng)層面還是從成本控制都是非常有利的,這也為什么現(xiàn)在無論大小公司都是直接上微服務(wù)。


微服務(wù)有什么好處?

1.敏捷快速迭代

微服務(wù)讓若干小型獨(dú)立團(tuán)隊(duì)形成一個(gè)組織,這些團(tuán)隊(duì)負(fù)責(zé)自己的服務(wù)。并且可以更獨(dú)立、更快速地工作。縮短開發(fā)周期。

2.靈活擴(kuò)展

通過微服務(wù),您可以獨(dú)立擴(kuò)展各項(xiàng)服務(wù)以滿足其支持的系統(tǒng)功能的需求。這使團(tuán)隊(duì)能夠快速調(diào)整,準(zhǔn)確功能成本,并在服務(wù)需求激增時(shí)保持可用

3.可重復(fù)使用的代碼

將軟件劃分為小型且明確定義的模塊,讓團(tuán)隊(duì)可以將功能用于多種目的。專為某項(xiàng)功能編寫的服務(wù)可以用作另一項(xiàng)功能的構(gòu)建塊。這樣應(yīng)用程序就可以自行引導(dǎo),因?yàn)殚_發(fā)人員可以創(chuàng)建新功能,而無需從頭開始編寫代碼。


這次主要是從互聯(lián)網(wǎng)技術(shù)架構(gòu)的演進(jìn)規(guī)律來給大家介紹了微服務(wù)的概念:

  • 單體架構(gòu)的演進(jìn)

  • 集群架構(gòu)的演進(jìn)

  • 分布式架構(gòu)的演進(jìn)

  • 微服務(wù)架構(gòu)


大家可以理解成單體架構(gòu)-->集群架構(gòu)是一個(gè)聚合的過程,就是通過增加服務(wù)器等設(shè)備來解決問題。

而從集群-->分布式-->微服務(wù)是一個(gè)拆的過程,就是把原來的很多的模塊從一個(gè)大的項(xiàng)目中拆分出來,獨(dú)立部署。

所以其實(shí)微服務(wù)架構(gòu)就是一種把業(yè)務(wù)功能模塊進(jìn)行細(xì)粒度拆分的架構(gòu)風(fēng)格。

標(biāo)簽: 微服務(wù)
報(bào)名優(yōu)惠
免費(fèi)試聽
課程資料
官方微信
返回頂部
培訓(xùn)課程 熱門話題 站內(nèi)鏈接