日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

微服務(wù)是業(yè)界最新的流行語,似乎每個(gè)人都在以這樣或那樣的方式談?wù)撍W屛覀兝斫庖幌率裁词俏⒎?wù)?通過這篇教程我們將理解微服務(wù)的定義,概念以及微服務(wù)的原理。

微服務(wù)的定義

如今,微服務(wù)是SOA(面向服務(wù)的架構(gòu))之后越來越流行的架構(gòu)模式之一,如果您正在跟蹤行業(yè)趨勢(shì),那么您會(huì)發(fā)現(xiàn),現(xiàn)在的企業(yè)不再像幾年前那樣對(duì)開發(fā)大型應(yīng)用程序來管理端到端業(yè)務(wù)功能感興趣。相反,他們選擇快速和敏捷的應(yīng)用程序,這也使他們花費(fèi)更少的錢。

微服務(wù)有助于打破大型應(yīng)用程序的邊界,并在系統(tǒng)內(nèi)部構(gòu)建邏輯上獨(dú)立的較小系統(tǒng),例如,使用Amazon AWS,你可以輕松構(gòu)建云應(yīng)用程序。這是微服務(wù)的一個(gè)很好的例子。

理解微服務(wù)的定義,概念以及微服務(wù)的原理

 


理解微服務(wù)的定義,概念以及微服務(wù)的原理

 


理解微服務(wù)的定義,概念以及微服務(wù)的原理

 

如上圖所示,每個(gè)微服務(wù)有它自己的業(yè)務(wù)層以及數(shù)據(jù)庫,改變其中一個(gè)微服務(wù)不會(huì)對(duì)另外的微服務(wù)有任何的影響。

總之,微服務(wù)之間使用廣泛的輕量級(jí)協(xié)議進(jìn)行通信,例如 HTTP 和 REST,TCP, 或者 消息協(xié)議, 例如 JMS 和 AMQP。在特定的場(chǎng)景,他們也可以選擇更專業(yè)的協(xié)議。

微服務(wù)的原理

現(xiàn)在我們來看一下微服務(wù)必須需要的原則。

1,單一功能職責(zé)

單一功能職責(zé)是SOLID設(shè)計(jì)模式之一,它意味著一個(gè)單元,無論是類、函數(shù)還是微服務(wù),都應(yīng)該有且只有一個(gè)職責(zé)。在任何時(shí)候,一個(gè)微服務(wù)都不應(yīng)該有一個(gè)以上的職責(zé)。

2,圍繞著業(yè)務(wù)功能設(shè)計(jì)

微服務(wù)應(yīng)該專注于特定的業(yè)務(wù)功能,并確保它有助于完成任務(wù)。微服務(wù)絕不應(yīng)限制自己采用最適合解決業(yè)務(wù)目的的適當(dāng)技術(shù)棧或后端數(shù)據(jù)庫存儲(chǔ)。當(dāng)我們?cè)O(shè)計(jì)單個(gè)應(yīng)用程序時(shí),這常常是一個(gè)約束,我們?cè)噲D在某些領(lǐng)域中使用一些折衷來解決多個(gè)業(yè)務(wù)解決方案。微服務(wù)使您能夠選擇最適合當(dāng)前問題的解決方案。

3,你建造它,你擁有它。

這種設(shè)計(jì)的另一個(gè)重要方面與開發(fā)前后的職責(zé)有關(guān)。在大型組織中,通常由一個(gè)團(tuán)隊(duì)開發(fā)App location,經(jīng)過一些知識(shí)轉(zhuǎn)移會(huì)議后,將項(xiàng)目移交給維護(hù)團(tuán)隊(duì)。在微服務(wù)中,構(gòu)建服務(wù)的團(tuán)隊(duì)擁有它,并負(fù)責(zé)在將來維護(hù)它。這使開發(fā)人員能夠接觸到他們的軟件的日常操作,并且他們能夠更好地理解他們構(gòu)建的產(chǎn)品在現(xiàn)實(shí)世界中是如何被客戶使用的。

4,基礎(chǔ)設(shè)施自動(dòng)化

準(zhǔn)備和構(gòu)建微服務(wù)的基礎(chǔ)設(shè)施是另一個(gè)非常重要的需求,服務(wù)應(yīng)該是可獨(dú)立部署的,并且應(yīng)該捆綁所有依賴項(xiàng),包括庫依賴項(xiàng),甚至是執(zhí)行環(huán)境,如抽象物理資源(web服務(wù)器和容器或虛擬機(jī))。

微服務(wù)和SOA之間的一個(gè)主要區(qū)別在于它們的自治級(jí)別。雖然大多數(shù)SOA實(shí)現(xiàn)提供了服務(wù)級(jí)抽象,但是微服務(wù)更進(jìn)一步抽象了實(shí)現(xiàn)和執(zhí)行環(huán)境。

在傳統(tǒng)的應(yīng)用程序開發(fā)中,我們構(gòu)建一個(gè)WAR或EAR,然后將其部署到JEE應(yīng)用程序服務(wù)器中,例如使用JBoss、WebLogic、WebSphere等等。我們可以將多個(gè)應(yīng)用程序部署到同一個(gè)JEE容器中。在理想的場(chǎng)景中,在微服務(wù)方法中,每個(gè)微服務(wù)將構(gòu)建為一個(gè)胖Jar,嵌入所有依賴項(xiàng),并作為獨(dú)立的JAVA進(jìn)程運(yùn)行。

5,容錯(cuò)設(shè)計(jì)

微服務(wù)的設(shè)計(jì)應(yīng)考慮到故障情況。如果服務(wù)失敗,或者宕機(jī)一段時(shí)間,該怎么辦?這些都是非常重要的問題,必須在實(shí)際編碼開始之前解決——以便清楚地估計(jì)服務(wù)故障將如何影響用戶體驗(yàn)。

快速故障是另一個(gè)用于構(gòu)建容錯(cuò)、彈性系統(tǒng)的概念。這種哲學(xué)提倡預(yù)期失敗的系統(tǒng),而不是構(gòu)建永遠(yuǎn)不會(huì)失敗的系統(tǒng)。由于服務(wù)在任何時(shí)候都可能失敗,因此能夠快速檢測(cè)故障并在可能的情況下自動(dòng)恢復(fù)服務(wù)非常重要。

微服務(wù)應(yīng)用程序非常重視應(yīng)用程序的實(shí)時(shí)監(jiān)控,檢查體系結(jié)構(gòu)元素(數(shù)據(jù)庫每秒接收多少請(qǐng)求)和業(yè)務(wù)相關(guān)指標(biāo)(例如每分鐘接收多少訂單)。語義監(jiān)視可以提供出錯(cuò)的早期預(yù)警系統(tǒng),從而觸發(fā)開發(fā)團(tuán)隊(duì)進(jìn)行跟蹤和調(diào)查。

理解微服務(wù)的定義,概念以及微服務(wù)的原理

 

微服務(wù)的優(yōu)點(diǎn)

微服務(wù)有許多優(yōu)點(diǎn)相比傳統(tǒng)的多層架構(gòu)(單體龐大應(yīng)用),微服務(wù)的優(yōu)點(diǎn)如下:

1,使用微服務(wù),架構(gòu)師和開發(fā)人員可以為每個(gè)微服務(wù)選擇適合于特定用途的架構(gòu)和技術(shù)(通曉多種語言對(duì)應(yīng)的熟悉語言的架構(gòu))。這為以更經(jīng)濟(jì)有效的方式設(shè)計(jì)更適合的解決方案提供了靈活性。

2,由于服務(wù)相當(dāng)簡(jiǎn)單,而且規(guī)模更小,企業(yè)可以試驗(yàn)新的流程、算法、業(yè)務(wù)邏輯等等。它通過提供快速試驗(yàn)和失敗的能力,使企業(yè)能夠進(jìn)行顛覆性創(chuàng)新。

3,微服務(wù)能夠?qū)崿F(xiàn)選擇性的可伸縮性,即每個(gè)服務(wù)都可以獨(dú)立地伸縮,而且伸縮的成本相對(duì)于單體應(yīng)用方面要低。

4,微服務(wù)是自包含的、獨(dú)立的部署模塊,當(dāng)?shù)诙€(gè)微服務(wù)沒有按照我們的需要執(zhí)行時(shí),可以使用另一個(gè)類似的微服務(wù)替換一個(gè)微服務(wù)。它有助于做出正確的“購買構(gòu)建”決策,而這通常是許多企業(yè)面臨的挑戰(zhàn)。

5,微服務(wù)幫助我們構(gòu)建本質(zhì)上是有機(jī)的系統(tǒng)(有機(jī)的系統(tǒng)是通過添加越來越多的功能在一段時(shí)間內(nèi)橫向增長(zhǎng)的系統(tǒng))。因?yàn)槲⒎?wù)都是關(guān)于獨(dú)立可管理的服務(wù)——它允許在需要時(shí)添加越來越多的服務(wù),而對(duì)現(xiàn)有服務(wù)的影響最小。

6,技術(shù)變化是軟件開發(fā)中的障礙之一。使用微服務(wù),可以單獨(dú)更改或升級(jí)每個(gè)服務(wù)的技術(shù),而不是升級(jí)整個(gè)應(yīng)用程序。

7,由于microservices將服務(wù)運(yùn)行時(shí)環(huán)境和服務(wù)本身打包在一起,因此允許在同一環(huán)境中共存多個(gè)版本的服務(wù)。

8,最后,微服務(wù)還支持更小、更專注的敏捷開發(fā)團(tuán)隊(duì)。團(tuán)隊(duì)將根據(jù)微服務(wù)的邊界進(jìn)行組織。

總結(jié):

在本文中,我僅列出了在我有限的知識(shí)范圍內(nèi)在許多組織中看到的微服務(wù)的一些優(yōu)點(diǎn)。由強(qiáng)大的設(shè)計(jì)和出色的代碼支持的單體應(yīng)用程序也可以證明是一個(gè)好的決策,并且產(chǎn)品可以停留足夠長(zhǎng)的時(shí)間來支持決策。

與微服務(wù)類似,糟糕的設(shè)計(jì)決策將被證明代價(jià)高昂。它們可能看起來簡(jiǎn)化了組件,但是它們可能增加了組件之間通信的復(fù)雜性,并且更難控制和管理。

分享到:
標(biāo)簽:微服
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定