spring cloud系列教程第一篇-介紹

spring cloud系列教程第一篇-介紹java

前言:spring

如今Java招聘中最多見的是會微服務開發,微服務已經在國內火了幾年了,並且也成了趨勢了。那麼,微服務只是指spring boot嗎?固然不是了,微服務須要治理,須要監控等等一系列的組件。這就誕生了spring cloud。從本篇開始,凱哥(凱哥Java:kaigejava)將和你們分享spring cloud系列教程。凱哥將和你們分享2020年以前的spring cloud熱門技術。還要會和你們分享2020年比較火的spring cloude Alibaba相關的組件。好了,咱們言歸正傳.restful

本文主要內容:1:微服務介紹;2:分佈式體系經常使用的幾個維度;3:spring cloud以及2020年開始升級的替代技術。架構

本文是由凱哥(凱哥Java:kagejava)發佈的《spring cloud系列教程》教程的第一篇:《spring cloud系列教程第一篇-介紹》。分佈式

一:微服務介紹:

Martin Fowler在2014年3月份對微服務的定義:ide

0gUhXLzKBeK


翻譯:微服務

微服務架構是一種架構模式,它提倡將單一的應用程序劃分紅一組小的服務,服務之間相互協調、相互配合,爲用戶提供最終價值。每一個服務運行在其獨立的進程中,服務與服務之間採用輕量級的通訊機制相互協做(一般是基於HTTP協議的restful API).每一個服務都圍繞着具體業務進行構建,而且可以被獨立的部署在生產環境等。另外,應當儘可能避免統一的,集中式的服務管理機制,對具體的一個服務而言,應根據業務上下文,選擇合適的語言、工具對其進行構建。工具

簡單理解:生活中,咱們都見過搭積木吧。一個完整的積木做品是由不少小的積木配合搭建起來的。咱們能夠把微服務也這麼理解。一個複雜的需求,就至關因而積木最終做品樣子,一個一個單一的應用程序(服務)能夠理解爲一塊塊的積木。它們之間經過通訊機制進行協做。最終實現複雜的功能。這樣是否是更好理解了。學習

二:分佈式體系常見的幾個維度

分佈式體系幾個經常使用見的維度:通常在分佈式體系中咱們須要考慮的問題,既然是一個一個單一的服務,那麼每一個服務是否是須要有個統一的註冊地方來讓其餘服務發現?多個服務之間調用怎麼來調用?每一個單一服務是否運行正常呢?怎麼處理?服務的負載怎麼處理?若是服務出現了問題怎麼辦?服務之間隊列消息怎麼處理?網站

以下圖,是分佈式體系須要幾個維度及相應維度的處理技術:

0gUhXOOyRMW


從上圖中,咱們能夠發現,當有了微服務後,須要從上面那麼多角度來維護,若是一個維度使用一個,那麼管理起來是否是很麻煩?如今咱們知道,小米手機的生態系統和華爲的生態系統作的很好。買了小米手機、小米電腦、小米家電等小米生態中的電子產品,只要一個帳號登錄後,很好的兼容。那麼微服務有沒有相似這樣的技術呢?答案是有的:仍是spring官方提供的,那就是spring cloud技術。那麼,接下來,咱們來看看什麼是spring cloud.

三:Spring cloud是什麼?

Spring cloud是分佈式微服務的一站式解決方案,是多種微服務架構落地技術的集合體,俗稱:微服務全家桶。

Spring cloud集合中優質技術:

0gUhXPSwy48


這些優質的技術,用來解決上面提到的幾個維度。

目前通用的架構及技術:

0gUhXShAqCe


分佈式體系幾個維度經常使用的幾個技術:

0gUhXUAytZg


上圖的不一樣維度解決方案都是在2020年之前的。可是,從2020年後,有了升級。咱們瀏覽技術網站的時候,是否是會常常看到:spring cloud Alibaba這個東西?對,沒錯。這就是2020年以後的升級替代產品。咱們來看看2020升級後的每一個維度解決方案:

四:2020年升級以後各個維度使用技術:

0gUhXUpGpBQ


從上圖中,咱們能夠看出,有些技術在2020年以後會慢慢被替換掉。可是,具體你所在的或者是你即將去的公司會不會用最新的技術,這個還很差說的。因此,凱哥這個spring cloud系列教程即會講解以前的技術也會講解spring cloud Alibaba 這個最新的技術。歡迎你們和凱哥(凱哥Java:kaigejava)一塊兒學習。

wx.jpg

相關文章
相關標籤/搜索