SpringCloud:淺談分分佈式系統微服務架構

前言:

  srping‘Cloud不容置疑他是基於springboot的,通俗的說就是每一個speingboot表明一個微服務,springCloud就是用來管理他們的,因此說學習spring cloud本質上學的是組件(中間件),目的是經過相關指定的中間件管理微服務,通常中間件所要解決的問題是,微服務之間的通訊,服務的治理,客戶端的訪問,和開發人員的維護。面試

 

 

1,我對微服務架構的理解

  微服務架構是一種思想,本質是將項目的各功能模塊拆分紅能夠獨立運行的小項目,各項目之間依然有聯繫(經過相關分佈式組件),項目與項目之間經過聯繫又造成一個完整的項目,目的是充分利用和節省了計算機資源,讓每一個小項目(微服務)只幹本身的事spring

 

2.爲何選擇SpringCloud做爲微服務架構

  總體的解決方案齊全,成熟度高(穩定)緩存

  生態好,社區熱度高安全

  可維護性強springboot

 

3.當前各大IT公司用的微服務架構

  阿里:dubbo+HFS服務器

  京東:JSF架構

  新浪:Motan負載均衡

  噹噹:DubboX框架

 

4.分佈式架構/微服務架構會遇到的四個核心問題

  1.這麼多服務,客戶端如何去訪問? 異步

  通常會一個代理或者叫API Gateway,他的做用包括

  • 提供統一服務入口,讓微服務對前臺透明
  • 聚合後臺的服務,節省流量,提高性能
  • 提供安全,過濾,流控等API管理功能

  2.服務之間如何通訊?

  • 同步調用
    • REST(JAX-RS)
    • RPC(Dubbo)
  • 異步消息調用(Kafka, Notify, MetaQ),所謂的消息隊列mq

  3.微服務該如何治理?

  註冊中心(zookeeper):註冊與發現

  4,服務掛了怎麼辦?

  首先爲了不各服務分配的服務器資源不合理狀況?負載均衡

  好比微服務a的使用率要遠遠小於微服務b,那麼就應該自動的給a少分些服務器資源,給b多份一些,而這個過程就叫作負載均衡,其中使用比較普遍的就是dubbo框架

  熔斷機制

  微服務有時會由於依賴關係複雜,或者服務拆分不夠規範產生雪崩效應,而熔斷機制就是其中的解決方案之一

  降級(本地緩存)

  限流

  

5.微服務完整架構圖

 

6.微服務相關技術棧

 

 

  

 

7.常見面試題:

相關文章
相關標籤/搜索