Srping Cloud學習筆記

Srping Cloud學習筆記

常見面試題

  1. 什么是微服務(wù)由境?

    1. 概述

      • 微服務(wù)化的核心就是將傳統(tǒng)的一站式應(yīng)用,根據(jù)業(yè)務(wù)(技術(shù))拆分成一個個的服務(wù),徹底地去耦合虏杰,每個微服務(wù)提供單個業(yè)務(wù)功能讥蟆,一個服務(wù)做一件事,

      • 從技術(shù)維度理解纺阔,就是一種小而獨立的處理過程瘸彤,類似進程概念,能夠自行單獨啟動或銷毀笛钝,甚至擁有自己獨立地數(shù)據(jù)庫钧栖。

      • 強調(diào)的是服務(wù)的大小,關(guān)注的是某一個點婆翔,是具體解決某個問題拯杠、提供落地對應(yīng)服務(wù)的一個服務(wù)應(yīng)用。

    2. 微服務(wù)架構(gòu)

      • 微服務(wù)架構(gòu)是一種架構(gòu)模式或者說是一種架構(gòu)風格啃奴,它提倡將單一應(yīng)用程序劃分成一組小的服務(wù)潭陪,實現(xiàn)解耦、分布式最蕾、高可用依溯、可拓展、分工協(xié)作瘟则、多語言黎炉。

      • 由多個微服程序組成,每個微服務(wù)運行在自己的獨立的進程中醋拧,服務(wù)之間能夠相互協(xié)調(diào)慷嗜,相互配合,為用戶提供最終價值丹壕。

      • 服務(wù)之間采用輕量級的通訊機制互相溝通(通常是基于HTTP的RESTful API)

      • 每個服務(wù)都圍繞著具體業(yè)務(wù)來進行構(gòu)建庆械,并且能夠獨立地部署在生產(chǎn)環(huán)境中。

  2. 微服務(wù)之間是如何通訊的菌赖?

    1. Rest

    2. RPC

  3. SpringCloud 與 Dubbo有哪些區(qū)別缭乘?

    1. 服務(wù)之間的通訊機制不同

      1. SpringCloud 是基于HTTP的REST

      2. Dubbo 是基于RPC

  4. SpringBoot 和 SpringCloud,請你談?wù)剬λ麄兊睦斫?/p>

  5. 什么事服務(wù)熔斷琉用?什么事服務(wù)降級堕绩?

    1. 服務(wù)熔斷

      • Hystrix

      • 避免雪崩效應(yīng),在服務(wù)請求超時或者異常的時候邑时,及時返回一個預(yù)留的響應(yīng)奴紧,并且在之后的短時間內(nèi)不在接收請求。

    2. 服務(wù)降級

      1. 結(jié)合Feign來使用刁愿,在服務(wù)請求超時或者異常的時候绰寞,及時返回一個預(yù)留的響應(yīng)到逊,并且在之后的短時間內(nèi)接收請求都將返回這個預(yù)留的響應(yīng)铣口。
  6. 微服務(wù)的優(yōu)缺點分別是什么滤钱?說下你在項目開發(fā)中碰到的坑

    1. 優(yōu)點:

      • 每個服務(wù)足夠內(nèi)聚,足夠小脑题,代碼容易理解件缸,這樣能聚焦一個指定的業(yè)務(wù)功能或者業(yè)務(wù)需求。

      • 開發(fā)簡單叔遂、開發(fā)效率提高他炊,一個服務(wù)可能就是專一的只干一個事。

      • 微服務(wù)能夠被小團隊單獨開發(fā)已艰,這個小團隊是2到5人的開發(fā)人員組成痊末。

      • 微服務(wù)是松耦合的,是有功能意義的服務(wù)哩掺,無論是在開發(fā)階段還是在部署階段都市獨立的凿叠。

      • 微服務(wù)能使用不同的語言開發(fā)。

      • 易于與第三方集成嚼吞,微服務(wù)允許容易且靈活的方式集成自動部署盒件,通過持續(xù)集成工具,入Jekins舱禽、Hudson炒刁、Bamboo

      • 微服務(wù)易于被一個開發(fā)人員理解,修改和維護誊稚,這樣小團隊能夠更關(guān)注自己的工作成果翔始。無需通過合作才能體現(xiàn)價值。

      • 微服務(wù)允許利用融合最新技術(shù)

      • 微服務(wù)只是業(yè)務(wù)邏輯的代碼里伯,不會和HTML绽昏、CSS或其他界面組件混合。

      • 每個微服務(wù)都有自己的存儲能力俏脊,可以有自己的數(shù)據(jù)庫全谤,也可以有統(tǒng)一數(shù)據(jù)庫

    2. 缺點

      • 開發(fā)人員要處理分布式系統(tǒng)的復(fù)雜性

      • 多服務(wù)運維難度,隨服務(wù)的增加爷贫,運維的壓力也在增大

      • 系統(tǒng)部署依賴认然,可能存在依賴關(guān)系,雖然能夠獨立運行漫萄,但是無法真正完成業(yè)務(wù)操作

      • 服務(wù)間通訊成本

      • 數(shù)據(jù)的一致性

      • 系統(tǒng)集成檢測

      • 性能監(jiān)控...

  7. 你所知道的微服務(wù)技術(shù)棧有哪些卷员?列舉一二

    1. 一套微服務(wù)架構(gòu)治理方案,多種框架技術(shù)的有序集合

      <pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="" cid="n310" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-size: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; background-position: inherit inherit; background-repeat: inherit inherit;">- 服務(wù)開發(fā) Springboot腾务、Spring毕骡、SpringMVC

      • 服務(wù)配置與管理 Netflix公司的Archaius、阿里的Diamond等
      • 服務(wù)注冊與發(fā)現(xiàn) Eureka、Consul未巫、Zookeeper等
      • 服務(wù)調(diào)用 Rest窿撬、RPC、gRPC
      • 服務(wù)熔斷器 Hystrix叙凡、Envoy等
      • 負載均衡 Ribbon劈伴、Nginx等
      • 服務(wù)接口調(diào)用(客戶端調(diào)用服務(wù)的簡化工具) Feign等
      • 消息隊列 Kafka、RabbitMQ握爷、ActiveMQ等
      • 服務(wù)配置中心管理 SpringCloudConfig跛璧、Chef等
      • 服務(wù)路由(API網(wǎng)關(guān)) Zuul等
      • 服務(wù)監(jiān)控 Zabbix、Nagios新啼、Metrics追城、Spectator等
      • 全鏈路追蹤 Zipkin,Brave燥撞、Dapper等
      • 服務(wù)部署 Docker漓柑、OpenStack、Kubernetes等
      • 數(shù)據(jù)流操作開發(fā)包 SpringCloud Stream(封裝與Redis,Rabbit叨吮、Kafka等發(fā)送接收消息)
      • 事件消息總線 Spring Cloud Bus
        ......</pre>
    2. 微服務(wù)技術(shù)棧有哪些
  8. Eureka和Zookeeper都可以提供微服務(wù)注冊和發(fā)現(xiàn)的功能辆布,請說說兩個的區(qū)別?

    1. Eureka是能保證CAP原理中的AP

      • availability可用性茶鉴、partition tolerance分區(qū)容錯性

      • 因為高可用的Eureka集群琅捏,每個Eureka的節(jié)點里保存的信息都是一樣的聪建,只要保證任何一個節(jié)點能夠正常運行,就能保證服務(wù)的可用性。

      • 當網(wǎng)絡(luò)出現(xiàn)異常的時候各吨,一個Eureka節(jié)點的服務(wù)注冊信息可能無法及時同步到其它節(jié)點号阿,只有當網(wǎng)絡(luò)恢復(fù)是才能恢復(fù)信息的同步争便,所以無法保證consistency一致性怎静。

    2. Zookeeper只能保證CAP原理中的CP

      • consistency一致性、partition tolerance分區(qū)容錯性

      • 因為高可用的Zookeeper集群舀瓢,采取的是主從模式廷雅,一般都是從節(jié)點,復(fù)制主節(jié)點的數(shù)據(jù)信息京髓,所以能保證數(shù)據(jù)的consistency一致性航缀。

      • 但是當因為網(wǎng)絡(luò)異常,導致主節(jié)點與從節(jié)點失去連接時堰怨,從節(jié)點們會進行l(wèi)eader選舉芥玉,在從節(jié)點中選出新的主節(jié)點,這個過程較為緩慢备图,且這段時間服務(wù)是不可用的灿巧,這就導致這段時間的服務(wù)注冊于發(fā)現(xiàn)是無法執(zhí)行的赶袄,使服務(wù)喪失了availability可用性。

  9. 為什么使用SpringCloud

    • 一套完整的微服務(wù)架構(gòu)治理方案抠藕,多種框架技術(shù)的有序集合

    • 選型依據(jù)

      • 整體解決方案和框架成熟度

      • 社區(qū)熱度

      • 可維護性

      • 學習曲線

    • 各大IT公司的微服務(wù)架構(gòu)有哪些

      • 阿里 Dubbo / HSF

      • 京東 JSF

      • 新浪微博 Motan

      • 當當網(wǎng) Dubbox

      • ...

    • 各微服務(wù)框架對比

      • 各微服務(wù)框架對比
    • dubbo與cloud對比

      • dubbo與cloud對比

SpringCloud概述

  1. 是什么

    • SpringCloud饿肺,是基于SpringBoot,提供的一套完整的微服務(wù)治理解決方案幢痘,包括服務(wù)注冊于發(fā)現(xiàn)唬格、配置中心家破、全鏈路監(jiān)控颜说、服務(wù)網(wǎng)關(guān)、負載均衡汰聋、熔斷器等組件门粪。除了基于NetFlix的開源組件做高度抽象封裝之外,還有一些選型中立的開源組件烹困。

    • 分布式微服務(wù)架構(gòu)的一站式解決方案玄妈,是各個微服務(wù)架構(gòu)落地技術(shù)的集合體,俗稱微服務(wù)全家桶髓梅。

Ribbon負載均衡

  1. 概述:

    • 類似于nginx

    • 是什么

      • 實現(xiàn)客戶端負載均衡的組件

      • 主要功能:提供客戶端軟件的負載均衡算法拟蜻,將Netflix的中間層服務(wù)連接在一起。

      • Ribbon客戶端組件提供一系列完善的配置項枯饿,如:連接超時酝锅、重試等。

      • 簡單來說奢方,就是在配置文件中列出Load Balancer(負載均衡)后面所有的機器搔扁,Ribbon會自動的幫助你基于某種規(guī)則(如:簡單輪詢,隨機連接)去連接這些機器蟋字。

      • 我們?nèi)菀资褂肦ibbon實現(xiàn)自定義的負載均衡

Feign負載均衡

  1. 概述

    • 是一個聲明式的Web服務(wù)客戶端稿蹲,是的編寫Web服務(wù)客戶端變得非常容易

    • 只需要創(chuàng)建一個借口,然后在上面注解即可

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鹊奖,一起剝皮案震驚了整個濱河市苛聘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌忠聚,老刑警劉巖焰盗,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異咒林,居然都是意外死亡熬拒,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門垫竞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來澎粟,“玉大人蛀序,你說我怎么就攤上這事』罾樱” “怎么了徐裸?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長啸盏。 經(jīng)常有香客問我重贺,道長,這世上最難降的妖魔是什么回懦? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任气笙,我火速辦了婚禮,結(jié)果婚禮上怯晕,老公的妹妹穿的比我還像新娘潜圃。我一直安慰自己,他們只是感情好舟茶,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布谭期。 她就那樣靜靜地躺著,像睡著了一般吧凉。 火紅的嫁衣襯著肌膚如雪隧出。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天阀捅,我揣著相機與錄音胀瞪,去河邊找鬼。 笑死也搓,一個胖子當著我的面吹牛赏廓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播傍妒,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼幔摸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了颤练?” 一聲冷哼從身側(cè)響起既忆,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嗦玖,沒想到半個月后患雇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡宇挫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年苛吱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片器瘪。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡翠储,死狀恐怖绘雁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情援所,我是刑警寧澤庐舟,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站住拭,受9級特大地震影響挪略,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜滔岳,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一杠娱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧澈蟆,春花似錦墨辛、人聲如沸卓研。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奏赘。三九已至寥闪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間磨淌,已是汗流浹背疲憋。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留梁只,地道東北人缚柳。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像搪锣,于是被迫代替她去往敵國和親秋忙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1 為什么需要服務(wù)發(fā)現(xiàn) 簡單來說构舟,服務(wù)化的核心就是將傳統(tǒng)的一站式應(yīng)用根據(jù)業(yè)務(wù)拆分成一個一個的服務(wù)灰追,而微服務(wù)在這個基...
    謙小易閱讀 25,093評論 4 93
  • 微服務(wù)架構(gòu)模式的核心在于如何識別服務(wù)的邊界,設(shè)計出合理的微服務(wù)狗超。但如果要將微服務(wù)架構(gòu)運用到生產(chǎn)項目上弹澎,并且能夠發(fā)揮...
    java菜閱讀 2,949評論 0 6
  • 1. 基礎(chǔ)知識[1] 什么是微服務(wù)架構(gòu)? 微服務(wù)是系統(tǒng)架構(gòu)上的一種設(shè)計風格努咐; 主旨是將一個原本獨立的系統(tǒng)拆分成多個...
    JT_X閱讀 1,061評論 0 0
  • 波特苦蒿。 黑暗中有人在叫他的名字。 波特渗稍! 那個聲音更焦急了一些佩迟。
    健身對抗不良情緒帆閱讀 137評論 0 0
  • 哎音五,你說惫撰,我倆是不是認識了有幾年了? 哎躺涝,你說厨钻,每次聊天是不是都是我主動? 哎坚嗜,你說夯膀,高考后我們還沒見過,你是不是...
    青酈honey閱讀 128評論 0 0