Springcloud核心知識點(必備)


Springcloud核心知識點(必備):

1.1 什么是微服務?
微服務是一種架構風格,是以開發一組小型服務的方式來作為一個獨立的應用系統,每個服務都運行在自已的進程中,服務之間采用輕量級的HTTP通信機制

1.2 微服務之間是如何獨立通訊的?
RestFul Http協議是微服務架構中最常用的通訊機制。

通訊方式:
同步:RPC ,REST等。
異步:消息隊列,要考慮消息的可靠傳輸、高性能,以及編程模型的變化等。

1.3 SpringCloud和Dubbo有哪些區別?
springcloud和dubbo的最大區別:springcloud拋棄了dubbo的rpc通信,采用的是基於http的rest方式。

1.4 SpringBoot和SpringCloud,請談談對他們的理解?
SpringCloud是Spring為微服務架構思想做的一個一站式實現。從某種程度是可以簡單的理解為,微服務是一個概念、一個項目開發的架構思想。SpringCloud是微服務架構的一種java實現。
SpringCloud是基於SpringBoot的一套實現微服務的框架。它提供了微服務開發所需的配置管理、服務發現、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態管理等組件。最重要的是,跟SpringBoot框架一起使用的話,會讓你開發微服務架構的雲服務非常方便。

SpringCloud五大核心組件:
服務注冊發現-Netflix Eureka
配置中心 - spring cloud config
負載均衡-Netflix Ribbon
斷路器 - Netflix Hystrix
路由(網關) - Netflix Zuul

1.5 什么是服務熔斷?什么是服務降級?
熔斷機制是應對雪崩效應的一種微服務鏈路保護機制。當扇出鏈路的某個微服務不可用或者響應時間太長時,會進行服務降級,進而熔斷該節點微服務的調用,快速返回“錯誤”的響應信息。當檢測到該節點微服務調用響應正常后恢復調用鏈路。

在SpringCloud框架里熔斷機制通過Hystrix實現,Hystrix會監控微服務間調用的狀況,當失敗的調用到一定閾值,缺省是5秒內調用20次,如果失敗,就會啟動熔斷機制。熔斷機制的注解是@HystrixCommand。

服務降級,一般是從整體負荷考慮。就是當某個服務熔斷之后,服務器將不再被調用,此時客戶端可以自己准備一個本地的fallback回調,返回一個缺省值。這樣做,雖然水平下降,但好歹可用,比直接掛掉強。

1.6 微服務的優缺點分別是什么?說一下你在項目開發中遇到的坑?
優點:
松耦合,聚焦單一業務功能,無關開發語言,團隊規模降低。在開發中,不需要了解多有業務,
只專注於當前功能,便利集中,功能小而精。微服務一個功能受損,對其他功能影響並不是太大,可以快速定位問題。
微服務只專注於當前業務邏輯代碼,不會和 html、css 或其他界面進行混合。可以靈活搭配技術,獨立性比較舒服。

缺點:
隨着服務數量增加,管理復雜,部署復雜,服務器需要增多,服務通信和調用壓力增大,運維工程師壓力增大,
人力資源增多,系統依賴增強,數據一致性,性能監控。


1.7 你所知道的服務器技術棧有哪些?請列舉一二?

服務開發  SpringBoot、Spring、SpringMVC 

服務注冊與發現  Eureka、Consul、Zookeeper等

服務熔斷器  Hystrix、Envoy等

負載均衡  Ribbon、Nginx等

服務部署  Docker、OpenStack、Kubernetes等


1.8 eureka和zookeeper都可以提供服務注冊與發現的功能,請說說這兩個之間的區別?
Zookeeper保證了CP(C:一致性,P:分區容錯性),Eureka保證了AP(A:高可用)
Eureka可以很好的應對因網絡故障導致部分節點失去聯系的情況,而不會像Zookeeper那樣使整個微服務癱瘓。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM