亚洲av无码乱码国产精品fc2,天天射寡妇射,特级毛片a级毛片100免费播放,玩弄少妇高潮抽搐在线观看

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

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

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

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

什么是微服務架構?

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

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

微服務架構的要求。

什么是微服務?

微服務架構是一種系統基礎設施,它將應用程序呈現為針對特定操作而設計的服務框架。

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

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

本質上,微服務架構將做好一件事的服務整合到一個松散的框架中。

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

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

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

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

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

如何定義微服務?

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

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

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

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

如何維護數據的一致性?

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

原因如下:

在微服務架構配置中,每個服務都使用自己的數據庫。然后,數據庫在操作過程中同步。

該系統需要一種更靈活的方法來跟蹤數據轉換,以保持數據始終一致。

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

每次服務轉換數據時,都會發(fā)布一個事件。

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

5個例子實際應用中的微服務架構

沃爾瑪

在客戶活動的季節(jié)性高峰期間出現一系列系統問題后,沃爾瑪于2012年轉向微服務架構。

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

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

過渡到微服務的結果令人震驚:

由于架構的轉變,硬件成本下降了20-50%。

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

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

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

貝寶

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

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

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

亞馬遜

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

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

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

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

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

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

利益

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

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

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

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

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

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

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

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

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

挑戰(zhàn)

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

讓我們仔細看看它們:

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

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

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

系統的復雜結構使得測試過程更加困難和耗時。在測試服務之間的不同交互時尤其如此。

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

結論

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

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