更新時間:2023-02-14 16:17:26 來源:動力節(jié)點 瀏覽1958次
1.什么是網(wǎng)關?
網(wǎng)關相當于一個網(wǎng)絡服務架構的入口,所有網(wǎng)絡請求必須通過網(wǎng)關轉發(fā)到具體的服務。
2.網(wǎng)關的作用是什么?
統(tǒng)一管理微服務請求,權限控制、負載均衡、路由轉發(fā)、監(jiān)控、安全控制黑名單和白名單等。
3.什么是Spring Cloud Zuul(服務網(wǎng)關)?
Zuul是對SpringCloud提供的成熟對的路由方案,他會根據(jù)請求的路徑不同,網(wǎng)關會定位到指定的微服務,并代理請求到不同的微服務接口,他對外隱蔽了微服務的真正接口地址。 三個重要概念:動態(tài)路由表,路由定位,反向代理。
1)動態(tài)路由表:Zuul支持Eureka路由,手動配置路由,這倆種都支持自動更新
2)路由定位:根據(jù)請求路徑,Zuul有自己的一套定位服務規(guī)則以及路由表達式匹配
3)反向代理:客戶端請求到路由網(wǎng)關,網(wǎng)關受理之后,在對目標發(fā)送請求,拿到響應之后在給客戶端,它可以和Eureka,Ribbon,Hystrix等組件配合使用。
4.Zuul的應用場景?
對外暴露,權限校驗,服務聚合,日志審計等
5.網(wǎng)關與過濾器有什么區(qū)別?
網(wǎng)關是對所有服務的請求進行分析過濾,過濾器是對單個服務而言。
6.常用網(wǎng)關框架有那些?
Nginx、Zuul、Gateway
7.Zuul與Nginx有什么區(qū)別?
Zuul是java語言實現(xiàn)的,主要為java服務提供網(wǎng)關服務,尤其在微服務架構中可以更加靈活的對網(wǎng)關進行操作。Nginx是使用C語言實現(xiàn),性能高于Zuul,但是實現(xiàn)自定義操作需要熟悉lua語言,對程序員要求較高,可以使用Nginx做Zuul集群。
8.既然Nginx可以實現(xiàn)網(wǎng)關,為什么還需要使用Zuul框架?
Zuul是SpringCloud集成的網(wǎng)關,使用Java語言編寫,可以對SpringCloud架構提供更靈活的服務。
9.如何設計一套API接口?
考慮到API接口的分類可以將API接口分為開發(fā)API接口和內網(wǎng)API接口,內網(wǎng)API接口用于局域網(wǎng),為內部服務器提供服務。開放API接口用于對外部合作單位提供接口調用,需要遵循Oauth2.0權限認證協(xié)議。同時還需要考慮安全性、冪等性等問題。
10.ZuulFilter常用有那些方法?
crun():過濾器的具體業(yè)務邏輯
shouldFilter():判斷過濾器是否有效
filterOrder():過濾器執(zhí)行順序
filterType():過濾器攔截位置
11.如何實現(xiàn)動態(tài)Zuul網(wǎng)關路由轉發(fā)?
通過path配置攔截請求,通過ServiceId到配置中心獲取轉發(fā)的服務列表,Zuul內部使用Ribbon實現(xiàn)本地負載均衡和轉發(fā)。
12.Zuul網(wǎng)關如何搭建集群?
使用Nginx的upstream設置Zuul服務集群,通過location攔截請求并轉發(fā)到upstream,默認使用輪詢機制對Zuul集群發(fā)送請求。
13.什么是SpringCloudGateway?
SpringCloudGateway是SpringCloud官方推出的第二代網(wǎng)關框架,取代Zuul網(wǎng)關。網(wǎng)關作為流量的,在微服務系統(tǒng)中有著非常作用,網(wǎng)關常見的功能有路由轉發(fā)、權限校驗、限流控制等作用。使用了一個RouteLocatorBuilder的bean去創(chuàng)建路由,除了創(chuàng)建路RouteLocatorBuilder可以讓你添加各種predicates和filters,predicates斷言的意思,顧名思義就是根據(jù)具體的請求的規(guī)則,由具體的route去處理,filters是各種過濾器,用來對請求做各種判斷和修改。
以上就是“Java網(wǎng)關面試題,全棧架構師筆記”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節(jié)點Java官網(wǎng)。
相關閱讀
Java實驗班
0基礎 0學費 15天面授
Java就業(yè)班
有基礎 直達就業(yè)
Java夜校直播班
業(yè)余時間 高薪轉行
Java在職加薪班
工作1~3年,加薪神器
Java架構師班
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習