成品直播大全观视频的技巧有哪些,免费国外B站刺激战场直播APP,免费观看已满十八岁电视剧直播,免费网站在线观看人数在哪里直播,日韩大片B站免费观看直播,暴躁妹妹CSGO直播,看B站a8直播,24小时免费视频直播,亚州精品无码a片毛片直播间,少女6夜半直播NBa,低调看直播,免费B站看大片真人直播

關于微服務架構(gòu)你應該知道什么 發(fā)布時間:2022-11-05   點擊瀏覽:577次

云計算的出現(xiàn)和軟件應用采用云架構(gòu)改變了游戲規(guī)則。它引入了所謂的微服務,并允許將開發(fā)過程簡化到一個更專注和更高效的狀態(tài)。

與此同時,“微服務”是大多數(shù)IT行業(yè)的科技博客中使用最頻繁的術語。莫名其妙地使用這個詞會造成許多混亂。

這篇文章的目標是澄清一些事情。特別是:

什么是微服務架構(gòu)?

什么樣的多重服務使用它?

馬的優(yōu)點和缺點是什么?

微服務架構(gòu)的要求。

什么是微服務?

微服務架構(gòu)是一種系統(tǒng)基礎設施,它將應用程序呈現(xiàn)為針對特定操作而設計的服務框架。

微服務的概念源于單一責任原則。事情是這樣的:

“把那些因同一原因而變化的東西聚集在一起,把那些因不同原因而變化的東西分開”

本質(zhì)上,微服務架構(gòu)將做好一件事的服務整合到一個松散的框架中。

該應用程序就像一個樂高積木套件,是模塊的集合。

每個現(xiàn)存的服務是為商業(yè)目標盡自己的一份力量。

這些部分有助于整體,它們共同形成一種服務。

這些服務通過API(又名應用程序接口)聯(lián)系在一起,API提供系統(tǒng)組件之間的交互。這種方法使服務相互之間相對獨立,從而大大簡化了開發(fā)和維護。

如果您對系統(tǒng)的關鍵需求是敏捷性和可伸縮性,那么微服務架構(gòu)是更好的選擇。

如何定義微服務?

應用程序分解是確定微服務結(jié)構(gòu)的一項重要工作。完成這項任務有三種常用的方法:

根據(jù)業(yè)務能力的分解(也就是產(chǎn)生價值的業(yè)務操作的動作)。例如用于資源管理和分配的ERP等。)在這種情況下,每個微服務處理業(yè)務操作的特定元素。

按用例分解——即微服務處理特定的動作。例如,亞馬遜使用專門的微服務來處理運輸訂單。

按資源分解——在這種情況下,微服務涵蓋了特定領域的所有操作。比如Spotify使用微服務進行用戶賬號管理。這種方法使他們能夠更深入地實施個性化功能,并保護用戶數(shù)據(jù)免受破壞。

如何維護數(shù)據(jù)的一致性?

另一個重大挑戰(zhàn)是維護眾多微服務的數(shù)據(jù)一致性。

原因如下:

在微服務架構(gòu)配置中,每個服務都使用自己的數(shù)據(jù)庫。然后,數(shù)據(jù)庫在操作過程中同步。

該系統(tǒng)需要一種更靈活的方法來跟蹤數(shù)據(jù)轉(zhuǎn)換,以保持數(shù)據(jù)始終一致。

一個可行的解決方案可以是傳奇模式。它是這樣工作的:

每次服務轉(zhuǎn)換數(shù)據(jù)時,都會發(fā)布一個事件。

框架中的其他服務會注意到并更新它們的數(shù)據(jù)庫。

5個例子實際應用中的微服務架構(gòu)

沃爾瑪

在客戶活動的季節(jié)性高峰期間出現(xiàn)一系列系統(tǒng)問題后,沃爾瑪于2012年轉(zhuǎn)向微服務架構(gòu)。

系統(tǒng)無法處理工作量。這一問題導致收入減少。

在此之后,沃爾瑪對其系統(tǒng)進行了徹底的檢查,并將核心業(yè)務任務重新平臺化到微服務上。這種方法允許重新分配工作量,同時簡化系統(tǒng)的工作流程。反過來,這使得框架能夠進一步完善。

過渡到微服務的結(jié)果令人震驚:

由于架構(gòu)的轉(zhuǎn)變,硬件成本下降了20-50%。

此外,該系統(tǒng)使用的計算能力比以前減少了40%。

該系統(tǒng)避免了客戶活動的季節(jié)性高峰期間(的停機時間;

微服務架構(gòu)支持充分利用移動應用,增加了另一個訂單流,從而提高了總轉(zhuǎn)化量。

貝寶

微服務架構(gòu)非常適合支付處理。工作流是結(jié)構(gòu)化的,你不需要向后彎腰去連接工作流的各個部分。

作為支付處理商,Paypal的經(jīng)營范圍和客戶需求是巨大的。該服務需要可伸縮,以正確處理負載。除了一致的服務,公司還需要提供體面的客戶體驗。考慮到操作范圍,這是一個挑戰(zhàn)。

Paypal使用Node.js環(huán)境來運行虛擬機,這些虛擬機可以分配工作負載并提供一致的服務。因此,該系統(tǒng)一天可以毫不費力地處理超過10億次點擊。

亞馬遜

亞馬遜有最有趣的微服務用例,因為它的范圍很廣。

讓我們來看看電子商務亞馬遜應用程序。

該服務包括多項工作量要求很高的業(yè)務。個性化、通知、搜索功能、價格優(yōu)化、廣告和其他功能都在發(fā)揮作用。他們都通過API來管理進程。

微服務方法允許由專門的團隊通過自己的工作流程來處理每個功能。正因為如此,每個特性的決策過程都得到了簡化,交付的速度也顯著加快。

試想一下,該公司一年可以進行超過5000萬次部署,而客戶不會受到影響。

使用微服務架構(gòu)的優(yōu)勢和挑戰(zhàn)

利益

微服務的一個顯著特征是它們很小。微服務只做一件事,所以需要處理的代碼量相對較少,這對開發(fā)人員來說是一個福音,因為理解一個小應用程序比進入一個龐大的系統(tǒng)花費的時間要少得多。

因此,集成開發(fā)環(huán)境中的工作流速度更快,效率更高。除此之外,更小的范圍有助于避免大量的人為錯誤和后續(xù)的bug搜索。

由于其孤立的本質(zhì),微服務架構(gòu)允許我們將項目團隊分解成多個獨立的單元。每個單元開發(fā)、測試、部署和擴展應用程序的一部分。正因為如此,項目的整體進度要快得多。

除此之外,微服務的隔離特性使得修復任何新出現(xiàn)的問題變得更加容易。例如,您遇到了內(nèi)存泄漏。在整體架構(gòu)的情況下,這種情況可能會導致整個系統(tǒng)崩潰。另一方面,使用微服務架構(gòu),問題被隔離到特定的服務,不會影響其他服務。

微服務架構(gòu)的另一個重要特征是相對不依賴于總體技術堆棧。每個微服務都使用自己的技術棧,它不影響系統(tǒng)的其他部分。一方面,這為實驗和創(chuàng)新提供了足夠的空間。另一方面,它允許團隊完成工作所需的任何東西。

從業(yè)務角度來看,應用微服務架構(gòu)的主要好處是支持持續(xù)交付。由于應用程序被分解成專門的組件——在不破壞應用程序整體工作流程的情況下,處理特定的活動部分要容易得多。換句話說,一個應用程序一直在運行,并且不斷發(fā)展。

因此,維護應用程序要容易得多。與處理一個每個元素都相互依賴的龐大系統(tǒng)不同,即使是最小的變化也會產(chǎn)生一些問題——您管理的是一群小型的獨立服務。

因為系統(tǒng)更容易維護,也更容易測試。微服務應用程序需要更少的資源,并在更短的時間內(nèi)完成測試序列,這有助于提高開發(fā)周期的整體速度。

因此,系統(tǒng)的部署變得更加簡單,也不那么令人擔憂。這些服務是彼此獨立部署的,因此,任何新出現(xiàn)的問題都可以得到解決,而不會影響整個系統(tǒng)。

挑戰(zhàn)

盡管微服務架構(gòu)可以提供所有的優(yōu)勢,但它也帶來了一些重大挑戰(zhàn)。

讓我們仔細看看它們:

雖然微服務本身很小并且是獨立的,但是它們之間的連接創(chuàng)建了一個復雜的分布式系統(tǒng),這需要進行大量的優(yōu)化工作。

因此,整體部署變得越來越復雜。系統(tǒng)中運動部件的數(shù)量增加了操作的復雜性。這個特性使得部署更加困難,因為開發(fā)人員需要管理大量的自包含服務及其協(xié)作。

開發(fā)人員需要實現(xiàn)服務之間的通信機制,并在來自不同服務的開發(fā)人員的參與下處理部分故障。

系統(tǒng)的復雜結(jié)構(gòu)使得測試過程更加困難和耗時。在測試服務之間的不同交互時尤其如此。

多服務請求的實現(xiàn)需要開發(fā)團隊的精確協(xié)調(diào)和透明溝通。換句話說,每個人都需要始終保持一致。

結(jié)論

微服務架構(gòu)正迅速成為各行各業(yè)構(gòu)建應用程序的首選方式。

這是一種更靈活、更廉價的開發(fā)應用程序的方法,它可以隨著業(yè)務需求的增長而發(fā)展,同時提供一致的客戶服務。

沽源县| 班戈县| 阳东县| 南木林县| 任丘市| 洱源县| 瑞丽市| 永年县| 多伦县| 隆尧县| 新和县| 隆昌县| 遂宁市| 商都县| 邯郸市| 富源县| 百色市| 甘德县| 清原| 台东县| 夹江县| 嘉义县| 凤台县| 大竹县| 台中市| 孝感市| 六枝特区| 清徐县| 茂名市| 赫章县| 峨山| 南江县| 湖口县| 鹤峰县| 金湖县| 淳化县| 蛟河市| 邮箱| 东兰县| 晋州市| 德阳市|