【SpringCloud】面試扒拉扒拉裝逼系列介紹

一、面試題

1. springCloud 和 dubbo 有什麼區別?
2. 兩個負載均衡,如何選擇?(Ribbon和Feign)
3. 什麼是服務雪崩,服務扇出,服務降級?

二、微服務概述

1. 什麼是微服務?

馬丁 福勒

1.)馬丁. 福勒(微服務的提出者)這麼說:https://martinfowler.com/articles/microservices.html
微服務架構風格[1]是一種將單個應用程序拆分爲一組小型服務的方法(通常按照業務拆),每個小型服務都在自己的進程中運行,並與輕量級機制(通常是HTTP RESTful API)進行通信。這些服務圍繞業務功能構建,可通過全自動部署機制獨立部署。這些服務至少集中管理,可以用不同的編程語言編寫,並使用不同的數據存儲技術。

2. 微服務和微服務架構?

1.)微服務:
具體解決某個問題/任務/功能,可以狹隘的看作開發工具裏的一個 module。

2.)微服務架構:
微服務架構是一種架構模式。它將單一程序劃分成小的服務,服務之間相互協調、相互配合。每個服務運行在其獨立的進程中,服務和服務質檢採用輕量級的通信機制相互協作(通常基於HTTP協議的RestFul API)。另外,儘量避免統一的、集中式的服務管理機制。

3.微服務的優缺點?

1.)優點:
(1)高內聚,代碼容易聚焦一個指定的業務功能;(2)開發簡單、開發效率高;(3)鬆耦合;(4)代碼階段和部署階段都是獨立的;跨語言;(5)允許靈活的自動部署,持續集成。(6)前後端分離開發。(7)每個微服務都有自己的存儲能力,可以有自己的數據庫,也可以有統一的數據庫。

2.)缺點:
(1)運維人員難度加大。(2)開發人員需要處理分佈式系統的複雜性。(3)系統部署的依賴性。(4)通信超時。(5)數據的一致性。

4.微服務技術棧有哪些?

微服務條目 落地技術
服務開發 SpringBoot、Spring、SpringMVC
服務配置和管理 Netfilex 的 Archaius、阿里的 Diamond
服務註冊與發現 Eureka、Consul、Zookeeper 等
服務調用 Rest、RPC、gPRC(谷歌)
服務熔斷器 Hystrix、Envoy 等
負載均衡 Ribbon、Nigix 等
服務接口調用(客戶端調用服務簡化工具) Feign 等
消息隊列 KafKa、ActiveMQ、ActiveMQ 等
服務配置中心管理 SpringCloudConfig、Chef等
服務路由(API網關) Zuul等
服務監控 Zabbix、Nagios、Metrics、Spectator等
全鏈路追蹤 Zipkin,Brave、Dapper等
服務部署 Docker、OpenStack、Kubernetes等
數據流操作開發包 SpringCloud Stream(封裝與Redis,Rabbit、Kafka等發送接收消息)
事件消息總線 Spring Cloud Bus

5.爲什麼選擇SpringCloud?

1.)選型依據。
調試a.整體解決方案和框架成熟度。
調試b.社區熱度.
調試c.可維護性。
調試d.學習曲線。

2.)當前用的微服務架構有哪些。
調試a.阿里Dubbo/HSF。
調試空Gdubbo:2012年解散,17年重新啓用,這五年內springCloud站起來了
調試空GHSF:HignSpeed FrameWork 江湖人稱:好舒服
調試d.京東的JSF。
調試c.新浪微博的Motan。(江湖人稱:茅臺)
調試d.噹噹網的DubboX。(噹噹網被海航集團收購)

三、SpringCloud入門概述。

1.SpringCloud是什麼?

給開發者的一套簡單易懂,易部署和易維護的分佈式系統開發工具包。微服務思想落地的解決方案的集合體(一套帶走)。

springCloud的版本號,用的英國倫敦的地鐵站的名字。

2.Dubbo和SpringCloud的對比。

1.活躍度對比。
dubbo 活躍度傳送門
springCloud 活躍度傳送門

2.技術棧對比。

Dubbo SpringCloud
服務註冊中心 Zookeeper Spring Cloud Netflix Eureka
服務調用方式 RPC Rest API
服務監控 Dubbo-monitor SpringBoot Admin
斷路器 Spring Cloud Hystrix
服務網關 Spring Cloud zuul
分佈式配置 Spring Cloud config
服務跟蹤 Spring Cloud Sleuth
消息總線 Spring Cloud Bus
數據流 Spring Cloud Stream
批量任務 Spring Cloud Task

3.SpringCloud參考資料。
調試a.官網:http://projects.spring.io/spring-cloud/
調試b.中文版模塊文檔:https://springcloud.cc/spring-cloud-netfix.html
調試c.開發API說明:http://cloud.spring.io/spring-cloud-static/Dalston.SR1/
調試空格KGL中文版:https://springcloud.cc/spring-cloud-dalston.html
調試d.springCloud的中文社區:http://springcloud.cn/
調試TSKGLspringCloud中文網:https://springcloud.cc/

四、版本對比。

SpringBoot springCloud
springboot 1.2.x Angel
springboot 1.3.x Brixton
springboot 1.4.x Camden
springboot 1.5.x Dalston 和 Edgware
springboot 2.0.x Finchley
springboot 2.1.x Greenwich
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章