天天看點

雲計算中幾個強大的微服務用例

<a href="http://s1.51cto.com/wyfs02/M00/9E/8E/wKioL1mTnBSjsn2LAAFrrtEcuTc495.jpg-wh_651x-s_2156720136.jpg" target="_blank"></a>

随着開發團隊轉向采用微服務,最佳使用案例有助于提供參考,是以可以了解一些主要廠商的微服務用例。

大多數企業開發團隊将不再使用雲托管的微服務。因為大多數可能會出現問題,而早期的使用者會放棄甚至拒絕使用微服務。最好的微服務用例分為四類,每個企業都應該聯系一個或多個早期微服務采用者,讓他們提出一些建議。

微服務用例

第一個用例是使用微服務來促進雲采用。大多數開發團隊認識到,最佳的使用公共雲和混合雲的應用程式架構是不同的。很少有人準備說明這些差異,以及如何實作有序的部署,安全和合規的運作以及全面的托管效率。微服務提供了一種新的應用程式模型的路徑,即使以整體形式,也容易地托管在資料中心中,仍然輕松移動到雲平台。

微服務在定義一種在綁定服務方面具有動态性的服務模型方面超越了面向服務架構(SOA)。微服務是一個設計(如果正确完成)功能的單元,是無狀态和可擴充的,同時,以緊耦合或松散耦合意義連接配接。使用者可以将微服務和核心應用程式元件內建到單個機器映像中,複制服務并避免元件連接配接和內建的問題。可以使用API管理器将相同的微服務擴充為受控共享服務,該管理器可複制SOA機制的安全性,然後以治理許可的REST形式暴露。這種選擇範圍在應用設計中是無與倫比的,它是雲計算的理想選擇。

第二個微服務用例的重點是通過微服務實作以業務為中心的經典面向服務架構(SOA)的目标。微服務要高效,要求應用架構師與企業架構師更加配合,以識别可重用的業務功能,以轉變為微服務。這是一個重要的,有價值的,偏離傳統的SOA模式,其中服務的定義主要是基于技術考慮。企業最近意識到需要對IT元素群組件化進行更多的基于業務的評估,但是如何開始卻不太明确。

通過識别應用程式的業務功能,然後在應用程式之間映射常見或非常相似的功能,開始實施良好的微服務政策。這些功能成為微服務建立的目标,盡管預計将有一些是廣義最大限度的重用,有些可以基于諸如無狀态行為和可擴充性的技術目标映射到一系列微服務而不是單個微服務。

第三個微服務用例是使用微服務來利用雲計算的彈性和可擴充性。企業知道,采用雲計算的主要好處并不是降低計算成本,而是更有效,更高效的營運,提高業務靈活性和應用程式的體驗品質。問題在于,使用者并不清楚如何利用雲功能實作這些優勢。而微服務是最好的答案。

彈性或可伸縮性意味着擴充或收縮應用程式資源以比對工作負載并響應失敗。這意味着建構應用程式,以便應用程式的“瓶頸”元件可以執行個體化多個副本,并且可以在副本之間平衡工作負載。微服務說明如何建構元件以使此過程變得容易,并且用于将安全性/治理實踐應用于微服務的API管理器也可用于負載平衡和執行個體管理。

這種用例也可以被視為将應用程式移動到基于容器的部署的一種方式,這是采用雲計算企業越來越重要的一個目标。由于微服務是相對較小的功能元素,它們适用于容器的低開銷模型,并且已經做了大量工作來證明兩種技術的最佳結合。

最後一個,也許最複雜的微服務用例是建立事件驅動的企業。。應用程式設計長期以來是基于應用程式的概念,它是通過靜态工作流連結的一系列元件,通常通過消息/服務總線支援。企業IT作為企業事件響應的一種看法是一種替代模式,對于IT和業務整體而言,它們比元件化或雲計算具有更大的潛在影響。然而,事件驅動的企業流程也與傳統設計有着深刻的背離,也是架構師和開發人員面臨的挑戰。

找到工作的用例

微服務比任何目前的技術開發直接支援事件驅動的業務IT方式。作為無狀态功能實作的細粒度微服務可以根據需要向外推,這将開啟一個全新的應用程式設計模型,功能元件根據需要進行封送,并推送到從業人員起源點,并收集公司資料的資訊庫。

大多數公司會發現微伺服器的這些用例區域之一是相關的,許多公司會發現其中的幾個(甚至全部都可以應用)。微服務并不會自動解決這些問題,很明顯,用例是應用微服務的指南,但不一定是一個路線圖。最聰明的做法就是檢視上面的所有要點,并将它們從即刻和長期的重要性中排除。然後,确定與每個重點相關的微服務功能,并決定哪些特定的微服務能力是最重要的。

微型服務仍處于起步階段,很容易造成錯誤,因為任何給定領域的最佳實踐仍然不成熟。這意味着,與微型服務一樣有價值,如今,它們仍然是一個更多使用者支援的更長時間的風險更高的政策。使用者需要花費一定的時間評估使用案例,并仔細開發自己的微服務政策,以防止難以糾正早期的錯誤。 

本文作者:Harris編譯

來源:51CTO

繼續閱讀