久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

微服務基本概念是什么

177次閱讀
沒有評論

共計 2331 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章主要介紹了微服務基本概念是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇微服務基本概念是什么文章都會有所收獲,下面我們一起來看看吧。

微服務基本概念架構的演變

為什么會有微服務?

假如回到 10 年前,一天張三入職了電商企業—并夕夕商城。

公司初創,人比較少,公司網站的用戶也很少,公司只有一個工程師

項目架構比較簡單

1. 單體架構

沒有想到的是,公司業務越來越好,網站用戶量越來越大,單體架構的問題就暴露出來了,隨著訪問量增加,項目經常宕機

問題:架構簡單 難以抗住高并發

于是,招人。對并夕夕商城進行升級優化。

分析升級的方向:

數據庫 和 應用代碼要放在不同的服務器上

增加應用負載能力【集群】

于是增加負載均衡。

2. 負載均衡

分布式:一個系統 通過多臺服務器 協同完成系統功能

集群:同一個系統放在了多臺服務器上 且每個服務器上內容相同 復制了多份

負載均衡的問題

成本

Session

增加負載均衡之后,應用服務器不再是系統的瓶頸了,可以靈活的隨著訪問量增大的同時增加應用服務器集群的數量。

隨著業務量不斷增加,數據量也在不斷增加,數據庫出現性能瓶頸。

招人

在多位同事努力之下,對項目進行進一步的優化—讀寫分離。

3. 讀寫分離

上述的架構看上去非常的完美,但是,隨著并夕夕商城業務量的不斷增加,新的問題暴露了出來。

問題:

商品搜索使用數據庫模糊查詢不行,不精確,慢【全文檢索】

圖書查詢 模糊匹配

不同模塊的數據訪問的頻率是不一樣的(熱度不同),首頁數據訪問量比較大,訂單數據的訪問量相比之下要小很多。所有的數據都去數據庫取,影響首頁訪問速度【緩存】

招人

4. 全文檢索緩存

所有的同事開始一起優化項目,商品搜索使用全文檢索技術 ES 完成,并且引入緩存(Redis 集群),于是架構變成了這個亞子。

隨著并夕夕商城不斷壯大,公司迎來了風投,風投兩個億,于是商城發展的更快了,新的問題出現了。

問題:

不同業務模塊之間的耦合太高,一個模塊出問題整個服務器宕機

維護困難,假如應用服務器集群 200 臺,那么項目上線意味著需要部署 200 臺服務器

譬如:修改了訂單的代碼 訂單模塊要重新部署 意味著所有的服務器都需要重新部署一遍

冗余,有些模塊沒有必要部署在所有的服務器上

招人:100 個人的團隊,對項目進行新的優化和升級—服務化(SOA),根據業務模塊的不同,拆分為不同的應用。

以上就是分布式的架構

5. 服務化

于是公司進入轟轟烈烈的服務化時代,但是有幾個問題需要被解決,如下

每一個模塊都是一個獨立的項目 都可以獨立啟動 這樣的做法 就叫做服務化 模塊變成項目之后我們稱之為服務 首頁模塊 —》首頁服務

這就是服務化 這就是微服務,微服務是:特殊的分布式架構【服務化】

首頁的訪問量比較大 就可以部署五個

訂單的訪問量小 就可以只部署一個

問題:

服務之間怎么調用?例如:訂單服務需要調用商品服務的數據,怎么調用?

怎么負載均衡?服務之間負載均衡?app 訪問后臺怎么負載均衡?

服務怎么被管理?例如:商品服務宕機了,怎么即時的通知訂單服務?如果沒有通知訂單服務,訂單服務發的請求都會阻塞,造成訂單宕機,引發鏈式故障,整個項目崩潰

服務之間的異常處理?

……

以上每一個問題都需要一個新的技術解決,而引入的新技術就是微服務技術,SpringCloud(一套技術)

如何解決這幾個問題 又需要用到一些新的技術,這些技術就是所謂的微服務的技術(SpringCloud)

基于上面的問題,整個并夕夕商城團隊瘋狂的努力,找到了一些技術(SpringCloud),分別解決了上述問題,架構圖如下:

到此為止,并夕夕商城成為了一個微服務的架構。

服務化 微服務主要的內容就是按照業務模塊拆分不同的應用服務,并且解決拆分之后遇到的問題

什么是微服務

每個服務可獨立運行在自己的進程里 每個服務獨立部署啟動

一系列獨立運行的微服務共同構建起整個系統

每個服務為獨立的業務開發,一個微服務只關注某個特定的功能,例如訂單管理,用戶管理【按照服務拆分】

微服務之間通過一些輕量的通信機制進行通信,例如 Restful API(HTTP)進行調用【訂單服務如何調用商品服務】

可以使用不同的編程語言與數據存儲技術開發

官網鏈接:https://www.martinfowler.com/articles/microservices.html

什么是 SpringCloud

SpringCloud= 分布式微服務架構下的一站式解決方案,是各個微服務架構落地技術的集合體,俗稱微服務全家桶。Spring Cloud 是一個含概多個子項目的開發工具集,集合了眾多的開源框架,他利用了 Spring Boot 開發的便利性實現了很多功能,如服務注冊,服務發現,負載均衡等。

服務管理 需要一個技術

服務調用 需要一個技術

負載均衡 需要一個技術

…….

這些技術怎么來?

自己找,技術之間的整合沒有一定的技術實力搞不定

SpringCloud,SpringCloud 官方找了一套解決微服務問題的技術,做了封裝和整合,讓用戶可以直接使用,不需要關心技術整合的問題

開發微服務相當于買一臺電腦

自己組裝,自己找微服務的技術相當于自己組裝電腦

買品牌機,使用 SpringCloud 相當于直接買了一個聯想的電腦,CPU 顯卡等等都幫你處理好了

SpringBoot 和 SpringCloud 有什么關系

使用負載均衡需要很多的配置,寫配置

自己寫配置

SpringBoot 自動配置

SpringCloud 使用了 SpringBoot 作為底層,通過 SpringBoot 的自動配置簡化分布式的開發

關于“微服務基本概念是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“微服務基本概念是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計2331字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 阿合奇县| 许昌市| 蒙城县| 南投县| 珠海市| 阳江市| 岳阳县| 廉江市| 梨树县| 福泉市| 宜良县| 三门峡市| 吕梁市| 昂仁县| 伊金霍洛旗| 宣威市| 垣曲县| 明溪县| 宁明县| 密云县| 诸暨市| 郎溪县| 闽清县| 额尔古纳市| 林芝县| 兴海县| 景谷| 东乌| 宁南县| 洪雅县| 建始县| 岳西县| 宝清县| SHOW| 淳化县| 铜梁县| 靖江市| 香格里拉县| 南郑县| 金门县| 噶尔县|