【正文】
可以進(jìn)一步優(yōu)化。通常,我們?cè)跇?gòu)建應(yīng)用程序時(shí)使用的是宿主操作系統(tǒng)提供的資源,在部署應(yīng)用程序時(shí)也使用了相同的模式。 增量更新或升級(jí)一個(gè)或多個(gè)服務(wù)的技術(shù)棧,而不是在一個(gè)時(shí)間點(diǎn)更新整個(gè)應(yīng)用程序,以此降低維護(hù)難度。例如,SOA 適用于單體架構(gòu),重點(diǎn)是將系統(tǒng)集成在一個(gè)應(yīng)用程序中,并確保代碼的可復(fù)用性。在微服務(wù)架構(gòu)中,我們專注于將應(yīng)用程序模塊化,將其分解成較小的獨(dú)立服務(wù),這些服務(wù)可獨(dú)立于其他服務(wù)或整個(gè)應(yīng)用程序本身而構(gòu)建、部署、伸縮和維護(hù)。這可能會(huì)讓構(gòu)建和維護(hù)應(yīng)用程序代碼庫(kù)的開發(fā)人員不堪重負(fù)。3. 在 SOA 中,用于服務(wù)間交互的通用通信機(jī)制被稱為企業(yè)服務(wù)總線(Enterprise Service Bus,ESB)。2. SOA 側(cè)重于將多個(gè)服務(wù)集成到單個(gè)應(yīng)用程序中,而不是強(qiáng)調(diào)模塊化應(yīng)用程序。在單體應(yīng)用程序中,所有這些服務(wù)都在同一個(gè)應(yīng)用程序?qū)由线\(yùn)行,因此這個(gè)電子商務(wù)網(wǎng)站的軟件架構(gòu)如下所示:缺點(diǎn)1. 很顯然,隨著服務(wù)數(shù)量的增加,應(yīng)用程序的規(guī)模將不斷增長(zhǎng)。救星“微服務(wù)”來(lái)了!微服務(wù)架構(gòu)可以被認(rèn)為是對(duì) SOA 的特殊化,也是一種可以克服單體架構(gòu)缺陷的替代模式。3. 不同之處在于,SOA 可能意味著其他很多東西?;蛟S你會(huì)想,這意味著什么?讓我們借助下圖來(lái)理解 IT 基礎(chǔ)設(shè)施領(lǐng)域的發(fā)展:第一張圖顯示的是一臺(tái)物理機(jī)器或一臺(tái)硬件服務(wù)器。宿主操作系統(tǒng)可以確保在不同虛擬機(jī)之間進(jìn)行系統(tǒng)性的資源分配和負(fù)載均衡。無(wú)論是哪種情況,它都可以解決應(yīng)用程序相關(guān)的問(wèn)題。但是,為什么要這樣做?其中一個(gè)原因是為了確保開發(fā)和生產(chǎn)環(huán)境之間的一致性。優(yōu)點(diǎn)1. Docker 是一款非常流行的軟件,有強(qiáng)大的社區(qū)支持,并專門為微服務(wù)而構(gòu)建。用一些事情,總會(huì)看清一些人。