?
What is Microservices — Edureka
您有沒有想過,什么是微服務(wù)以及擴(kuò)展行業(yè)如何與它們集成,同時(shí)構(gòu)建應(yīng)用程序以滿足客戶的期望?
要了解什么是微服務(wù),您必須了解如何將單體應(yīng)用程序分解為獨(dú)立打包和部署的小型微型應(yīng)用程序。本文將讓您清楚了解開發(fā)人員如何使用微服務(wù)根據(jù)需要擴(kuò)展其應(yīng)用程序。
在本文中,您將了解以下內(nèi)容:
-
為什么是微服務(wù)?
-
什么是微服務(wù)?
-
微服務(wù)架構(gòu)的特點(diǎn)
-
微服務(wù)架構(gòu)的優(yōu)勢(shì)
-
設(shè)計(jì)微服務(wù)的最佳實(shí)踐
-
使用微服務(wù)的公司
為什么是微服務(wù)?
現(xiàn)在,在我告訴你微服務(wù)之前,讓我們看看在微服務(wù)之前流行的架構(gòu),即單體架構(gòu)。
用外行的話來說,你可以說它類似于一個(gè)大容器,其中應(yīng)用程序的所有軟件組件都組裝在一起并緊密打包。
列出了單體架構(gòu)的挑戰(zhàn):
Challenges of Monolithic Architecture — What is Microservices
不靈活——無法使用不同的技術(shù)構(gòu)建單體應(yīng)用程序
不可靠——即使系統(tǒng)的一個(gè)功能不起作用,那么整個(gè)系統(tǒng)也不起作用
不可擴(kuò)展——應(yīng)用程序無法輕松擴(kuò)展,因?yàn)槊看涡枰聭?yīng)用程序時(shí),都必須重新構(gòu)建整個(gè)系統(tǒng)
阻礙持續(xù)開發(fā)——應(yīng)用程序的許多功能不能同時(shí)構(gòu)建和部署
開發(fā)緩慢——單體應(yīng)用程序的開發(fā)需要大量時(shí)間來構(gòu)建,因?yàn)槊總€(gè)特性都必須一個(gè)接一個(gè)地構(gòu)建
不適合復(fù)雜應(yīng)用程序——復(fù)雜應(yīng)用程序的特性具有緊密耦合的依賴關(guān)系
上述挑戰(zhàn)是導(dǎo)致微服務(wù)發(fā)展的主要原因。
什么是微服務(wù)?
微服務(wù),又名微服務(wù)架構(gòu),是一種架構(gòu)風(fēng)格,它將應(yīng)用程序構(gòu)建為圍繞業(yè)務(wù)領(lǐng)域建模的小型自治服務(wù)的集合。
Microservices Representation —What Is Microservices
在微服務(wù)架構(gòu)中,每個(gè)服務(wù)都是自包含的,并且實(shí)現(xiàn)了單一的業(yè)務(wù)能力。
傳統(tǒng)架構(gòu)與微服務(wù)的區(qū)別
將電子商務(wù)應(yīng)用程序視為一個(gè)用例,以了解它們之間的區(qū)別。
我們?cè)谏蠄D中觀察到的主要區(qū)別在于,所有功能最初都在共享單個(gè)數(shù)據(jù)庫的單個(gè)實(shí)例下。但是,對(duì)于微服務(wù),每個(gè)特性都被分配了一個(gè)不同的微服務(wù),處理它們自己的數(shù)據(jù),并執(zhí)行不同的功能。
現(xiàn)在,讓我們通過查看其架構(gòu)來更多地了解微服務(wù)。參考下圖:
Differences Between Monolithic Architecture and Microservices - What is Microservices
微服務(wù)架構(gòu)
Microservice Architecture - What is Microservices
來自不同設(shè)備的不同客戶端嘗試使用不同的服務(wù),例如搜索、構(gòu)建、配置和其他管理功能。
所有服務(wù)都根據(jù)其域和功能進(jìn)行分離,并進(jìn)一步分配給各個(gè)微服務(wù)。
這些微服務(wù)有自己的負(fù)載均衡器和執(zhí)行環(huán)境來執(zhí)行它們的功能,同時(shí)在自己的數(shù)據(jù)庫中捕獲數(shù)據(jù)。
所有微服務(wù)都通過無狀態(tài)服務(wù)器(REST 或消息總線)相互通信。
微服務(wù)借助服務(wù)發(fā)現(xiàn)了解其通信路徑,并執(zhí)行自動(dòng)化、監(jiān)控等操作功能。
然后,微服務(wù)執(zhí)行的所有功能都通過 API 網(wǎng)關(guān)與客戶端通信。
所有內(nèi)部點(diǎn)都從 API 網(wǎng)關(guān)連接。因此,任何連接到 API 網(wǎng)關(guān)的人都會(huì)自動(dòng)連接到整個(gè)系統(tǒng)。
現(xiàn)在,讓我們通過查看其特性來了解更多關(guān)于微服務(wù)的信息。
微服務(wù)功能
Features Of Microservices — What is Microservices
-
解耦——系統(tǒng)內(nèi)的服務(wù)在很大程度上是解耦的。因此,整個(gè)應(yīng)用程序可以輕松構(gòu)建、更改和擴(kuò)展。
-
組件化——微服務(wù)被視為可以輕松更換和升級(jí)的獨(dú)立組件。
-
業(yè)務(wù)能力——微服務(wù)非常簡(jiǎn)單,專注于單一能力。
-
自治——開發(fā)人員和團(tuán)隊(duì)可以彼此獨(dú)立工作,從而提高速度。
-
持續(xù)交付——通過軟件創(chuàng)建、測(cè)試和批準(zhǔn)的系統(tǒng)自動(dòng)化,允許頻繁發(fā)布軟件。
-
責(zé)任——微服務(wù)不關(guān)注應(yīng)用程序作為項(xiàng)目。相反,他們將應(yīng)用程序視為他們負(fù)責(zé)的產(chǎn)品
-
去中心化治理——重點(diǎn)是為正確的工作使用正確的工具。這意味著沒有標(biāo)準(zhǔn)化的模式或任何技術(shù)模式。開發(fā)人員可以自由選擇最有用的工具來解決他們的問題
-
敏捷性——微服務(wù)支持敏捷開發(fā)。任何新功能都可以快速開發(fā)并再次丟棄
微服務(wù)的優(yōu)勢(shì)
Advantages of Microservices - What is Microservices
-
獨(dú)立開發(fā)——所有微服務(wù)都可以根據(jù)各自的功能輕松開發(fā)
-
獨(dú)立部署——根據(jù)他們的服務(wù),他們可以單獨(dú)部署在任何應(yīng)用程序中
-
故障隔離——即使應(yīng)用程序的一項(xiàng)服務(wù)不工作,系統(tǒng)仍然繼續(xù)運(yùn)行
-
混合技術(shù)?!煌恼Z言和技術(shù)可用于構(gòu)建同一應(yīng)用程序的不同服務(wù)
-
粒度縮放——單個(gè)組件可以根據(jù)需要進(jìn)行縮放,無需將所有組件一起縮放
設(shè)計(jì)微服務(wù)的最佳實(shí)踐
在當(dāng)今世界,復(fù)雜性已成功滲透到產(chǎn)品中。微服務(wù)架構(gòu)承諾讓團(tuán)隊(duì)保持?jǐn)U展并更好地運(yùn)作。
以下是設(shè)計(jì)微服務(wù)的最佳實(shí)踐:
Best Practices To Design Microservices - What is Microservices
現(xiàn)在,讓我們看一個(gè)用例來更好地理解微服務(wù)。
用例:購物車應(yīng)用程序
讓我們看一個(gè)購物車應(yīng)用程序的經(jīng)典用例。
當(dāng)您打開購物車應(yīng)用程序時(shí),您看到的只是一個(gè)網(wǎng)站。但是,在幕后,購物車應(yīng)用程序具有接受付款的服務(wù)、客戶服務(wù)等。
假設(shè)這個(gè)應(yīng)用程序的開發(fā)人員已經(jīng)在一個(gè)整體框架中創(chuàng)建了它。請(qǐng)參考下圖:
Monolithic Framework Of Shopping Cart Application — What is Microservices
因此,所有功能都放在一個(gè)代碼庫中,并位于一個(gè)底層數(shù)據(jù)庫下。
現(xiàn)在,讓我們假設(shè)市場(chǎng)上出現(xiàn)了一個(gè)新品牌,開發(fā)人員希望將即將推出的品牌的所有細(xì)節(jié)都放在這個(gè)應(yīng)用程序中。
然后,他們不僅需要為新標(biāo)簽重新設(shè)計(jì)服務(wù),還必須重新構(gòu)建整個(gè)系統(tǒng)并相應(yīng)地進(jìn)行部署。
為了避免此類挑戰(zhàn),該應(yīng)用程序的開發(fā)人員決定將他們的應(yīng)用程序從單體架構(gòu)轉(zhuǎn)變?yōu)槲⒎?wù)。參考下圖了解購物車應(yīng)用的微服務(wù)架構(gòu)。
Microservice Architecture of Shopping Cart Application — What is Microservices
這意味著開發(fā)人員不會(huì)創(chuàng)建 Web 微服務(wù)、邏輯微服務(wù)或數(shù)據(jù)庫微服務(wù)。相反,他們?yōu)樗阉?、推薦、客戶服務(wù)等創(chuàng)建單獨(dú)的微服務(wù)。
這種類型的應(yīng)用程序架構(gòu)不僅可以幫助開發(fā)人員克服以前架構(gòu)面臨的所有挑戰(zhàn),還可以幫助購物車應(yīng)用程序輕松構(gòu)建、部署和擴(kuò)展。
使用微服務(wù)的公司
有很多公司使用微服務(wù)來構(gòu)建應(yīng)用程序,這些只是僅舉幾例:
Companies using Microservices - What is Microservices
這將我們帶到關(guān)于什么是微服務(wù)的文章的結(jié)尾。我希望您發(fā)現(xiàn)這篇文章內(nèi)容豐富,并為您的知識(shí)增加了價(jià)值。
本文 :https://jiagoushi.pro/what-microservices-learn-all-about-microservice-architecture | ||
討論:知識(shí)星球【首席架構(gòu)師圈】或者加微信小號(hào)【ca_cto】或者加QQ群【792862318】 | ||
喜馬拉雅 | 【超級(jí)架構(gòu)師】路上或者車上了解最新黑科技資訊,架構(gòu)心得。 | 【智能時(shí)刻,架構(gòu)君和你聊黑科技】 |
知識(shí)星球 | 認(rèn)識(shí)更多朋友,職場(chǎng)和技術(shù)閑聊。 | 知識(shí)星球【職場(chǎng)和技術(shù)】 |
領(lǐng)英 | Harry | https://www.linkedin.com/in/architect-harry/ |
領(lǐng)英群組 | 領(lǐng)英架構(gòu)群組 | https://www.linkedin.com/groups/14209750/ |
微博?? | 【超級(jí)架構(gòu)師】 | 智能時(shí)刻? |
網(wǎng)站 | CIO(首席信息官) | https://cio.ceo |
網(wǎng)站 | CIO,CTO和CDO | https://cioctocdo.com |
網(wǎng)站 | 架構(gòu)師實(shí)戰(zhàn)分享 | https://architect.pub? ? |
網(wǎng)站 | 程序員云開發(fā)分享 | https://pgmr.cloud |
網(wǎng)站 | 首席架構(gòu)師社區(qū) | https://jiagoushi.pro |
網(wǎng)站 | 應(yīng)用開發(fā)和開發(fā)平臺(tái) | https://apaas.dev |
網(wǎng)站 | 開發(fā)信息網(wǎng) | https://xinxi.dev |
網(wǎng)站 | 超級(jí)架構(gòu)師 | https://jiagou.dev |
網(wǎng)站 | 企業(yè)技術(shù)培訓(xùn) | https://peixun.dev |
網(wǎng)站 | 程序員寶典 | https://pgmr.pub? ?? |
網(wǎng)站 | 開發(fā)者閑談 | https://blog.developer.chat |
網(wǎng)站 | CPO寶典 | https://cpo.work |
網(wǎng)站 | 首席安全官 | https://cso.pub????? |
網(wǎng)站 | CIO酷 | https://cio.cool |
網(wǎng)站 | CDO信息 | https://cdo.fyi |
網(wǎng)站 | CXO信息 | https://cxo.pub |
謝謝大家關(guān)注,轉(zhuǎn)發(fā),點(diǎn)贊和點(diǎn)在看。
自我介紹
- 做一個(gè)簡(jiǎn)單介紹,酒研年近48 ,有20多年IT工作經(jīng)歷,目前在一家500強(qiáng)做企業(yè)架構(gòu).因?yàn)楣ぷ餍枰?,另外也因?yàn)榕d趣涉獵比較廣,為了自己學(xué)習(xí)建立了三個(gè)博客,分別是【全球IT瞭望】,【架構(gòu)師研究會(huì)】和【開發(fā)者開聊】,有更多的內(nèi)容分享,謝謝大家收藏。
- 企業(yè)架構(gòu)師需要比較廣泛的知識(shí)面,了解一個(gè)企業(yè)的整體的業(yè)務(wù),應(yīng)用,技術(shù),數(shù)據(jù),治理和合規(guī)。之前4年主要負(fù)責(zé)企業(yè)整體的技術(shù)規(guī)劃,標(biāo)準(zhǔn)的建立和項(xiàng)目治理。最近一年主要負(fù)責(zé)數(shù)據(jù),涉及到數(shù)據(jù)平臺(tái),數(shù)據(jù)戰(zhàn)略,數(shù)據(jù)分析,數(shù)據(jù)建模,數(shù)據(jù)治理,還涉及到數(shù)據(jù)主權(quán),隱私保護(hù)和數(shù)據(jù)經(jīng)濟(jì)。 因?yàn)樾枰热鐢?shù)據(jù)資源入財(cái)務(wù)報(bào)表,另外數(shù)據(jù)如何估值和貨幣化需要財(cái)務(wù)和金融方面的知識(shí),最近在學(xué)習(xí)財(cái)務(wù),金融和法律。打算先備考CPA,然后CFA,如果可能也想學(xué)習(xí)法律,備戰(zhàn)律考。
- 歡迎愛學(xué)習(xí)的同學(xué)朋友關(guān)注,也歡迎大家交流。全網(wǎng)同號(hào)【架構(gòu)師研究會(huì)】
文章來源:http://www.zghlxwxcb.cn/news/detail-519975.html
歡迎收藏??【全球IT瞭望】,【架構(gòu)師酒館】和【開發(fā)者開聊】.文章來源地址http://www.zghlxwxcb.cn/news/detail-519975.html
到了這里,關(guān)于【微服務(wù)】什么是微服務(wù)?-- 全面了解微服務(wù)架構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!