欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

搞清楚SpringCloud架構(gòu)原理的這4個點,輕松應對面試官-創(chuàng)新互聯(lián)

前言

創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、成都小程序開發(fā)、電子商務建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務為一體的技術(shù)型公司。公司成立10多年以來,已經(jīng)為上千家成都自拌料攪拌車各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務。現(xiàn)在,服務的上千家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。

現(xiàn)在分布式系統(tǒng)基本上都是標配了,如果你現(xiàn)在還在玩兒單機,沒有接觸過這些東西的話,權(quán)當是為你打開一扇新的大門吧。

搞清楚Spring Cloud架構(gòu)原理的這4個點,輕松應對面試官

大的單體項目

以前我們做單機系統(tǒng)的時候,所有的代碼都在一個項目里面,只是不同的模塊按照包名來劃分的。我們以前做的一個某省的教育項目,有學生信息和就業(yè)系統(tǒng)、有高校培訓系統(tǒng)、有一個人資系統(tǒng)等一共六個,4個小伙伴都在一個代碼里面進行開發(fā),各個系統(tǒng)之間有一定的聯(lián)系,但是大部分是不相關(guān)的,但管理頁面在一起。

那時候我們都在一個項目里面碼代碼,每次啟動好幾分鐘,還有就是包版本沖突問題,搞得真是頭疼。大家經(jīng)歷過大型的單體項目開發(fā),相信你有體會的。

還有各系統(tǒng)的使用量也不一樣,有的比較大。比如學生信息和就業(yè)系統(tǒng),面向的是所有高校,特別是快畢業(yè)那段時間,每個學校會上報就業(yè)率等信息,還有就是打印報到證呀什么的。有的系統(tǒng)就使用比較少,比如人資、培訓系統(tǒng) 使用的基本上就教育廳的一些員工,和部分老師,流量不大,勉強能扛得住。

模擬業(yè)務背景

大點的企業(yè),比如做電商的,用戶幾十萬的,日活幾萬的,背后好幾十人上百人的團隊在支撐開發(fā),單體系統(tǒng)就不太合適了。

比如現(xiàn)在有一個下單買東西的需求,就需要訂單系統(tǒng)、庫存系統(tǒng)、倉庫系統(tǒng)和積分系統(tǒng) 等來進行處理。如下圖:

搞清楚Spring Cloud架構(gòu)原理的這4個點,輕松應對面試官

訂單系統(tǒng)、庫存系統(tǒng)、倉儲和積分系統(tǒng)都是部署到不同的機器上的。

當用戶下單了,那么訂單服務會發(fā)進行扣件庫存、通知倉儲系統(tǒng)要發(fā)貨、通知積分系統(tǒng)累加積分的操作。

如果我們此時需要用到 Spring Cloud 來做一個分布式架構(gòu)的話,那么我們需要什么東西呢?每個東西都是干嘛的呢?

如果使用 Spring Cloud 來實現(xiàn),需要哪些組件?

Eureka

首先,我們需要一個注冊中心 Eureka ,主要負責每個服務的注冊和發(fā)現(xiàn)。

每個微服務中都有一個Euraka client組件,專門負責將這個服務的服務id(serviceId)、ip、端口等信息注冊到Eureka server中。

Euraka Server是一個注冊中心,該組件內(nèi)部維護了一個注冊表,保存了各個服務所在的機器ip和端口號等信息。

Feign

其次每個服務還需要一個遠程服務調(diào)用的組件 Feign ,他主要負責與其他服務建立連接,構(gòu)造請求,然后發(fā)起請求來調(diào)用其他服務來獲取數(shù)據(jù)。

Ribbon

然后我們一個服務可能會部署很多臺機器,那么我們使用Feign 去調(diào)用這個服務的時候,到底把請求發(fā)送到哪臺機器上去呢?此時我們就需要一個組件來根據(jù)一定的策略來選擇一臺機器。不管怎么選的,總之得選一臺機器給 Feign 去調(diào)用就好了。

這個組件就是 Ribbon,Ribbon 主要負責就是負載均衡。Ribbon 會定期去從Eureka 注冊中心拉取注冊中心,緩存到本地,每次發(fā)起遠程調(diào)用的時候,Ribbon 就會從 Eureka 注冊表拉取下來的數(shù)據(jù)中挑選一個機器讓 Feign 來發(fā)起遠程調(diào)用。

Zuul

我們這么多的微服務,如果一個服務一個IP,使用方都需要進行調(diào)用的話,是不是得知道每一個服務的IP地址才行呢?那得記住多少才行呀,多不好管理。

如果有一個統(tǒng)一的地址,然后根據(jù)不同的請求路徑來跟我進行轉(zhuǎn)發(fā)多少是不,比如 /user/* 是轉(zhuǎn)發(fā)到用戶服務 ,/product/* 是轉(zhuǎn)向到商品服務等等。我使用的時候,只需要訪問同一個IP ,只是路徑不一樣,就行了。

Spring Cloud 也給我們提供了一個組件,那就是 Zuul ,他是一個網(wǎng)關(guān),就是負責網(wǎng)絡(luò)的路由的。每個請求都經(jīng)過這個網(wǎng)關(guān),我們還可以做統(tǒng)一鑒權(quán)等等很多事情。

Hystrix

還有一個東西也得說一下,就是 Hystrix,它是一個隔離、熔斷以及降級的一個框架 。

在微服務的相互調(diào)用過程中,可能會出現(xiàn)被調(diào)用服務錯誤或者超時的情況,從而導致整個系統(tǒng)崩潰不可用,也就是我們常說的服務雪崩問題,Hystrix 的存在就是為了解決這種問題的。

整體架構(gòu)

我們按照以上使用到的這些組件,來往下單這個流程來套一下:

搞清楚Spring Cloud架構(gòu)原理的這4個點,輕松應對面試官

整個調(diào)用流程:

  1. 首先每個服務啟動的時候都需要往注冊中心進行注冊。

  2. 用戶先對網(wǎng)關(guān)發(fā)起下單請求,網(wǎng)關(guān)收到請求后發(fā)現(xiàn)呃,是下單操作,要到訂單系統(tǒng),然后把請求路由到訂單系統(tǒng)。

  3. 訂單系統(tǒng)啪啦啪啦一頓操作,然后通過 Feign 去調(diào)用 庫存系統(tǒng)減庫存,通知倉儲服務發(fā)貨,調(diào)用積分系統(tǒng)加積分。

  4. 在發(fā)起調(diào)用之前,訂單系統(tǒng)還得通過Ribbon 去注冊中心去拉取各系統(tǒng)的注冊表信息,并且挑一臺機器給 Feign 來發(fā)起網(wǎng)絡(luò)調(diào)用。

總結(jié)

OK,以上就是整個Spring Cloud 的核心架構(gòu)了,面試題額,別錯過了,朋友。這只是給大家一些普及,面試的時候遇到了可以這么去說的。

搞清楚Spring Cloud架構(gòu)原理的這4個點,輕松應對面試官

回過頭來再看看這8道Spring Cloud微服務面試題你能回答對幾道?

1.什么是 Spring Cloud?

2.使用 Spring Cloud 有什么優(yōu)勢?

3.服務注冊和發(fā)現(xiàn)是什么意思?Spring Cloud 如何實現(xiàn)?

4.負載平衡的意義什么?

5.什么是 Hystrix?它如何實現(xiàn)容錯?

6.什么是 Hystrix 斷路器?我們需要它嗎?

7.什么是 Netflix Feign?它的優(yōu)點是什么?

8.什么是 Spring Cloud Bus?我們需要它嗎?

最后

歡迎大家一起交流,喜歡文章記得點個贊喲,感謝支持!

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。

文章名稱:搞清楚SpringCloud架構(gòu)原理的這4個點,輕松應對面試官-創(chuàng)新互聯(lián)
文章鏈接:http://www.chinadenli.net/article44/dgsphe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊網(wǎng)站排名App設(shè)計網(wǎng)站維護網(wǎng)頁設(shè)計公司外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名