好程式員Java教育訓練面試進階知識點之微服務架構,微服務(Microservices)是一種架構風格,一個大型複雜軟體應用由一個或多個微服務組成。随着越來越多的人加入到Java開發行列,企業對求職者的技能要求也在提高,其中微服務就是一個非常重要的門檻。接下來好程式員Java教育訓練小編就給大家簡單梳理求職面試必考的微服務架構知識。
1、微服務哪些架構
1)Dubbo,是阿裡巴巴服務化治理的核心架構,并被廣泛應用于阿裡巴巴集團的各成員站點。2)它是Spring Source的産物,Spring社群的強大背書可以說是Java企業界最有影響力的組織了,除了Spring Source之外,還有Pivotal和Netfix是其強大的後盾與技術輸出。其中Netflix開源的整套微服務架構套件是Spring Cloud的核心。
2、前後端分離是如何做的
在前後端分離架構中,後端隻需要負責按照約定的資料格式向前端提供可調用的API服務即可。前後端之間通過HTTP請求進行互動,前端擷取到資料後,進行頁面的組裝和渲染,最終傳回給浏覽器。
3、RPC的實作原理
首先需要有處理網絡連接配接通訊的子產品,負責連接配接建立、管理和消息的傳輸。其次需要有編解碼的子產品,因為網絡通訊都是傳輸的位元組碼,需要将我們使用的對象序列化和反序列化。剩下的就是用戶端和伺服器端的部分,伺服器端暴露要開放的服務接口,客戶調用服務接口的一個代理實作,這個代理實作負責收集資料、編碼并傳輸給伺服器然後等待結果傳回。
4、Dubbo的服務請求失敗怎麼處理
Dubbo啟動時有預設的重試機制和逾時機制,如果服務在限定的請求時間内沒有響應,則認為本次請求失敗。如果在配置的重試次數内,請求失敗後Dubbo會重新發送請求,如果超過請求失敗的重試次數還沒有請求成功,則認為本次請求失敗,抛出異常。
5、Dubbo和SpringCloud有哪些差別?
Dubbo是soa(面向服務的架構),SpringCloud是微服務架構。
Dubbo基于RPC(遠端過程調用),SpringCloud是基于Restful,前者底層是tcp連接配接,後者是http,在大量請求的情況下,dubbo的響應時間要短于springcloud。
Dubbo的提供的功能要少于springcloud,springcloud提供了一整套的微服務治理方案,比如服務熔斷,監控,追蹤,配置中心等。
6、Soa和微服務架構有哪些差別?
微服務是在Soa的基礎上發展而來,從粒度上來說,微服務的粒度要比SOA更細。微服務由于粒度更細,是以微服務架構的耦合度相對于SOA架構的耦合度更低。微服務的服務規模相較于SOA一般要更大,所能承載的并發量也更高。