微服務(wù)架構(gòu) 微服務(wù)怎么實(shí)現(xiàn)?是前端還是后端的事?
微服務(wù)怎么實(shí)現(xiàn)?是前端還是后端的事?1. 事實(shí)上,我對(duì)微服務(wù)的理解是,它們是特定于功能的,易于升級(jí)和擴(kuò)展。微服務(wù)具有分而治之的思想。2. Vue和python是集成的,前端和后端可以通過HTTP進(jìn)行交
微服務(wù)怎么實(shí)現(xiàn)?是前端還是后端的事?
1. 事實(shí)上,我對(duì)微服務(wù)的理解是,它們是特定于功能的,易于升級(jí)和擴(kuò)展。微服務(wù)具有分而治之的思想。
2. Vue和python是集成的,前端和后端可以通過HTTP進(jìn)行交互分離,Vue通過HTTP請(qǐng)求,python提供服務(wù)。這是前后端分離的雛形。
3. 第三代微服務(wù)是通過集裝箱化設(shè)計(jì)的。打電話給對(duì)方。
企業(yè)級(jí)微服務(wù)架構(gòu)下API保護(hù)和控制層如何做?
在spring云方面,要實(shí)現(xiàn)API的認(rèn)證和保護(hù),需要與JWT技術(shù)(無(wú)狀態(tài))合作。一般有兩種方法:
方法一:
直接在網(wǎng)關(guān)中設(shè)置各種過濾器,配置一定的路由攔截規(guī)則,將部分用戶認(rèn)證碼編碼到網(wǎng)關(guān)中,實(shí)現(xiàn)網(wǎng)關(guān)端的初步認(rèn)證和認(rèn)證。這意味著超過90%的系統(tǒng)認(rèn)證是在網(wǎng)關(guān)上進(jìn)行的。所有客戶端都請(qǐng)求網(wǎng)關(guān)的地址,而不是微服務(wù)的實(shí)際地址。當(dāng)請(qǐng)求通過nginx到達(dá)springcloud網(wǎng)關(guān)時(shí),網(wǎng)關(guān)取出請(qǐng)求的前綴,然后根據(jù)代碼中配置的pre、post、error等過濾器選擇相應(yīng)的過濾器。網(wǎng)關(guān)根據(jù)請(qǐng)求中攜帶的JWT信息,解析后取出憑證信息,如果用戶中心返回正確結(jié)果,則執(zhí)行用戶定義的登錄認(rèn)證邏輯(一般網(wǎng)關(guān)服務(wù)調(diào)用用戶中心服務(wù)進(jìn)行檢查),網(wǎng)關(guān)服務(wù)接收響應(yīng)結(jié)果,向篩選器返回NULL,并請(qǐng)求繼續(xù)向其他微服務(wù)發(fā)送。執(zhí)行相應(yīng)的業(yè)務(wù)邏輯后,相應(yīng)的業(yè)務(wù)服務(wù)將結(jié)果返回給網(wǎng)關(guān),網(wǎng)關(guān)通過nginx將結(jié)果返回給客戶端。
方法二:原理同上,區(qū)別在于一個(gè)新的微服務(wù)叫做用戶授權(quán)認(rèn)證中心。當(dāng)請(qǐng)求到來(lái)時(shí),網(wǎng)關(guān)只做最基本的請(qǐng)求驗(yàn)證,如JWT格式是否合法,JWT是否過期,不再對(duì)用戶進(jìn)行認(rèn)證操作,即不在網(wǎng)關(guān)中查詢用戶,而是調(diào)用用戶授權(quán)認(rèn)證中心,通過必要的參數(shù)到中心對(duì)應(yīng)的HTTP方法中,請(qǐng)求后得到結(jié)果并返回給網(wǎng)關(guān),然后網(wǎng)關(guān)給出客戶端特定的信息,如果認(rèn)證失敗,將返回給客戶端。如果身份驗(yàn)證成功,它將在網(wǎng)關(guān)篩選器中釋放。超過90%的認(rèn)證中心是由網(wǎng)關(guān)授權(quán)的。
這兩種方法都可以使用,但建議使用第二種方法,這更符合微服務(wù)的理念。第一種適用于項(xiàng)目的初始階段。當(dāng)規(guī)模不大時(shí),可以暫時(shí)使用。當(dāng)流量出現(xiàn)時(shí),網(wǎng)關(guān)將無(wú)法承受,因此從長(zhǎng)遠(yuǎn)來(lái)看,需要開通新的微服務(wù)來(lái)分流流量。
微服務(wù)網(wǎng)關(guān)的作用?
1、統(tǒng)一入口
為所有微服務(wù)提供唯一的入口點(diǎn),網(wǎng)關(guān)起到內(nèi)外隔離的作用,保證后臺(tái)服務(wù)的安全。
2、身份驗(yàn)證檢查
標(biāo)識(shí)每個(gè)請(qǐng)求的權(quán)限,并拒絕不符合要求的請(qǐng)求。
3、動(dòng)態(tài)路由
將請(qǐng)求動(dòng)態(tài)路由到不同的后端群集。
4、減少耦合
減少客戶端和服務(wù)之間的耦合,服務(wù)可以獨(dú)立開發(fā)。通過網(wǎng)關(guān)層映射。