<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          來啦!Spring Cloud 常見面試題!2020最新版?。ㄎ哪┵洉?/h1>

          共 9183字,需瀏覽 19分鐘

           ·

          2020-09-05 02:15


          ThinkWon|blog.csdn.net/ThinkWon/article/details/104397367

          為什么需要學(xué)習(xí)Spring Cloud

          不論是商業(yè)應(yīng)用還是用戶應(yīng)用,在業(yè)務(wù)初期都很簡單,我們通常會把它實現(xiàn)為單體結(jié)構(gòu)的應(yīng)用。但是,隨著業(yè)務(wù)逐漸發(fā)展,產(chǎn)品思想會變得越來越復(fù)雜,單體結(jié)構(gòu)的應(yīng)用也會越來越復(fù)雜。這就會給應(yīng)用帶來如下的幾個問題:

          • 代碼結(jié)構(gòu)混亂:業(yè)務(wù)復(fù)雜,導(dǎo)致代碼量很大,管理會越來越困難。同時,這也會給業(yè)務(wù)的快速迭代帶來巨大挑戰(zhàn);
          • 開發(fā)效率變低:開發(fā)人員同時開發(fā)一套代碼,很難避免代碼沖突。開發(fā)過程會伴隨著不斷解決沖突的過程,這會嚴(yán)重的影響開發(fā)效率;
          • 排查解決問題成本高:線上業(yè)務(wù)發(fā)現(xiàn) bug,修復(fù) bug 的過程可能很簡單。但是,由于只有一套代碼,需要重新編譯、打包、上線,成本很高。

          由于單體結(jié)構(gòu)的應(yīng)用隨著系統(tǒng)復(fù)雜度的增高,會暴露出各種各樣的問題。近些年來,微服務(wù)架構(gòu)逐漸取代了單體架構(gòu),且這種趨勢將會越來越流行。Spring Cloud是目前最常用的微服務(wù)開發(fā)框架,已經(jīng)在企業(yè)級開發(fā)中大量的應(yīng)用。

          什么是Spring Cloud

          Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發(fā)便利性巧妙地簡化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)注冊、配置中心、智能路由、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以用Spring Boot的開發(fā)風(fēng)格做到一鍵啟動和部署。Spring Cloud并沒有重復(fù)制造輪子,它只是將各家公司開發(fā)的比較成熟、經(jīng)得起實際考驗的服務(wù)框架組合起來,通過Spring Boot風(fēng)格進(jìn)行再封裝屏蔽掉了復(fù)雜的配置和實現(xiàn)原理,最終給開發(fā)者留出了一套簡單易懂、易部署和易維護(hù)的分布式系統(tǒng)開發(fā)工具包。

          設(shè)計目標(biāo)與優(yōu)缺點

          設(shè)計目標(biāo)

          協(xié)調(diào)各個微服務(wù),簡化分布式系統(tǒng)開發(fā)。

          優(yōu)缺點

          微服務(wù)的框架那么多比如:dubbo、Kubernetes,為什么就要使用Spring Cloud的呢?

          優(yōu)點:

          • 產(chǎn)出于Spring大家族,Spring在企業(yè)級開發(fā)框架中無人能敵,來頭很大,可以保證后續(xù)的更新、完善
          • 組件豐富,功能齊全。Spring Cloud 為微服務(wù)架構(gòu)提供了非常完整的支持。例如、配置管理、服務(wù)發(fā)現(xiàn)、斷路器、微服務(wù)網(wǎng)關(guān)等;
          • Spring Cloud 社區(qū)活躍度很高,教程很豐富,遇到問題很容易找到解決方案
          • 服務(wù)拆分粒度更細(xì),耦合度比較低,有利于資源重復(fù)利用,有利于提高開發(fā)效率
          • 可以更精準(zhǔn)的制定優(yōu)化服務(wù)方案,提高系統(tǒng)的可維護(hù)性
          • 減輕團(tuán)隊的成本,可以并行開發(fā),不用關(guān)注其他人怎么開發(fā),先關(guān)注自己的開發(fā)
          • 微服務(wù)可以是跨平臺的,可以用任何一種語言開發(fā)
          • 適于互聯(lián)網(wǎng)時代,產(chǎn)品迭代周期更短

          缺點:

          • 微服務(wù)過多,治理成本高,不利于維護(hù)系統(tǒng)
          • 分布式系統(tǒng)開發(fā)的成本高(容錯,分布式事務(wù)等)對團(tuán)隊挑戰(zhàn)大

          總的來說優(yōu)點大過于缺點,目前看來Spring Cloud是一套非常完善的分布式框架,目前很多企業(yè)開始用微服務(wù)、Spring Cloud的優(yōu)勢是顯而易見的。因此對于想研究微服務(wù)架構(gòu)的同學(xué)來說,學(xué)習(xí)Spring Cloud是一個不錯的選擇。

          Spring Cloud發(fā)展前景

          Spring Cloud對于中小型互聯(lián)網(wǎng)公司來說是一種福音,因為這類公司往往沒有實力或者沒有足夠的資金投入去開發(fā)自己的分布式系統(tǒng)基礎(chǔ)設(shè)施,使用Spring Cloud一站式解決方案能在從容應(yīng)對業(yè)務(wù)發(fā)展的同時大大減少開發(fā)成本。同時,隨著近幾年微服務(wù)架構(gòu)和Docker容器概念的火爆,也會讓Spring Cloud在未來越來越“云”化的軟件開發(fā)風(fēng)格中立有一席之地,尤其是在五花八門的分布式解決方案中提供了標(biāo)準(zhǔn)化的、全站式的技術(shù)方案,意義可能會堪比當(dāng)年Servlet規(guī)范的誕生,有效推進(jìn)服務(wù)端軟件系統(tǒng)技術(shù)水平的進(jìn)步。

          整體架構(gòu)

          img

          主要項目

          Spring Cloud的子項目,大致可分成兩類,一類是對現(xiàn)有成熟框架"Spring Boot化"的封裝和抽象,也是數(shù)量最多的項目;第二類是開發(fā)了一部分分布式系統(tǒng)的基礎(chǔ)設(shè)施的實現(xiàn),如Spring Cloud Stream扮演的就是kafka, ActiveMQ這樣的角色。

          Spring Cloud Config

          集中配置管理工具,分布式系統(tǒng)中統(tǒng)一的外部配置管理,默認(rèn)使用Git來存儲配置,可以支持客戶端配置的刷新及加密、解密操作。

          Spring Cloud Netflix

          Netflix OSS 開源組件集成,包括Eureka、Hystrix、Ribbon、Feign、Zuul等核心組件。

          • Eureka:服務(wù)治理組件,包括服務(wù)端的注冊中心和客戶端的服務(wù)發(fā)現(xiàn)機制;
          • Ribbon:負(fù)載均衡的服務(wù)調(diào)用組件,具有多種負(fù)載均衡調(diào)用策略;
          • Hystrix:服務(wù)容錯組件,實現(xiàn)了斷路器模式,為依賴服務(wù)的出錯和延遲提供了容錯能力;
          • Feign:基于Ribbon和Hystrix的聲明式服務(wù)調(diào)用組件;
          • Zuul:API網(wǎng)關(guān)組件,對請求提供路由及過濾功能。

          Spring Cloud Bus

          用于傳播集群狀態(tài)變化的消息總線,使用輕量級消息代理鏈接分布式系統(tǒng)中的節(jié)點,可以用來動態(tài)刷新集群中的服務(wù)配置。

          Spring Cloud Consul

          基于Hashicorp Consul的服務(wù)治理組件。

          Spring Cloud Security

          安全工具包,對Zuul代理中的負(fù)載均衡OAuth2客戶端及登錄認(rèn)證進(jìn)行支持。

          Spring Cloud Sleuth

          Spring Cloud應(yīng)用程序的分布式請求鏈路跟蹤,支持使用Zipkin、HTrace和基于日志(例如ELK)的跟蹤。

          Spring Cloud Stream

          輕量級事件驅(qū)動微服務(wù)框架,可以使用簡單的聲明式模型來發(fā)送及接收消息,主要實現(xiàn)為Apache Kafka及RabbitMQ。

          Spring Cloud Task

          用于快速構(gòu)建短暫、有限數(shù)據(jù)處理任務(wù)的微服務(wù)框架,用于向應(yīng)用中添加功能性和非功能性的特性。

          Spring Cloud Zookeeper

          基于Apache Zookeeper的服務(wù)治理組件。

          Spring Cloud Gateway

          API網(wǎng)關(guān)組件,對請求提供路由及過濾功能。

          Spring Cloud OpenFeign

          基于Ribbon和Hystrix的聲明式服務(wù)調(diào)用組件,可以動態(tài)創(chuàng)建基于Spring MVC注解的接口實現(xiàn)用于服務(wù)調(diào)用,在Spring Cloud 2.0中已經(jīng)取代Feign成為了一等公民。

          Spring Cloud的版本關(guān)系

          Spring Cloud是一個由許多子項目組成的綜合項目,各子項目有不同的發(fā)布節(jié)奏。為了管理Spring Cloud與各子項目的版本依賴關(guān)系,發(fā)布了一個清單,其中包括了某個Spring Cloud版本對應(yīng)的子項目版本。為了避免Spring Cloud版本號與子項目版本號混淆,Spring Cloud版本采用了名稱而非版本號的命名,這些版本的名字采用了倫敦地鐵站的名字,根據(jù)字母表的順序來對應(yīng)版本時間順序,例如Angel是第一個版本,Brixton是第二個版本。當(dāng)Spring Cloud的發(fā)布內(nèi)容積累到臨界點或者一個重大BUG被解決后,會發(fā)布一個"service releases"版本,簡稱SRX版本,比如Greenwich.SR2就是Spring Cloud發(fā)布的Greenwich版本的第2個SRX版本。目前Spring Cloud的最新版本是Hoxton。

          Spring Cloud和SpringBoot版本對應(yīng)關(guān)系

          Spring Cloud VersionSpringBoot Version
          Hoxton2.2.x
          Greenwich2.1.x
          Finchley2.0.x
          Edgware1.5.x
          Dalston1.5.x

          Spring Cloud和各子項目版本對應(yīng)關(guān)系

          ComponentEdgware.SR6Greenwich.SR2
          spring-cloud-bus1.3.4.RELEASE2.1.2.RELEASE
          spring-cloud-commons1.3.6.RELEASE2.1.2.RELEASE
          spring-cloud-config1.4.7.RELEASE2.1.3.RELEASE
          spring-cloud-netflix1.4.7.RELEASE2.1.2.RELEASE
          spring-cloud-security1.2.4.RELEASE2.1.3.RELEASE
          spring-cloud-consul1.3.6.RELEASE2.1.2.RELEASE
          spring-cloud-sleuth1.3.6.RELEASE2.1.1.RELEASE
          spring-cloud-streamDitmars.SR5Fishtown.SR3
          spring-cloud-zookeeper1.2.3.RELEASE2.1.2.RELEASE
          spring-boot1.5.21.RELEASE2.1.5.RELEASE
          spring-cloud-task1.2.4.RELEASE2.1.2.RELEASE
          spring-cloud-gateway1.0.3.RELEASE2.1.2.RELEASE
          spring-cloud-openfeign暫無2.1.2.RELEASE

          注意:Hoxton版本是基于SpringBoot 2.2.x版本構(gòu)建的,不適用于1.5.x版本。隨著2019年8月SpringBoot 1.5.x版本停止維護(hù),Edgware版本也將停止維護(hù)。

          SpringBoot和SpringCloud的區(qū)別?

          SpringBoot專注于快速方便的開發(fā)單個個體微服務(wù)。

          SpringCloud是關(guān)注全局的微服務(wù)協(xié)調(diào)整理治理框架,它將SpringBoot開發(fā)的一個個單體微服務(wù)整合并管理起來,

          為各個微服務(wù)之間提供,配置管理、服務(wù)發(fā)現(xiàn)、斷路器、路由、微代理、事件總線、全局鎖、決策競選、分布式會話等等集成服務(wù)

          SpringBoot可以離開SpringCloud獨立使用開發(fā)項目, 但是SpringCloud離不開SpringBoot ,屬于依賴的關(guān)系

          SpringBoot專注于快速、方便的開發(fā)單個微服務(wù)個體,SpringCloud關(guān)注全局的服務(wù)治理框架。

          使用 Spring Boot 開發(fā)分布式微服務(wù)時,我們面臨以下問題

          (1)與分布式系統(tǒng)相關(guān)的復(fù)雜性-這種開銷包括網(wǎng)絡(luò)問題,延遲開銷,帶寬問題,安全問題。

          (2)服務(wù)發(fā)現(xiàn)-服務(wù)發(fā)現(xiàn)工具管理群集中的流程和服務(wù)如何查找和互相交談。它涉及一個服務(wù)目錄,在該目錄中注冊服務(wù),然后能夠查找并連接到該目錄中的服務(wù)。

          (3)冗余-分布式系統(tǒng)中的冗余問題。

          (4)負(fù)載平衡 --負(fù)載平衡改善跨多個計算資源的工作負(fù)荷,諸如計算機,計算機集群,網(wǎng)絡(luò)鏈路,中央處理單元,或磁盤驅(qū)動器的分布。

          (5)性能-問題 由于各種運營開銷導(dǎo)致的性能問題。

          (6)部署復(fù)雜性-Devops 技能的要求。

          服務(wù)注冊和發(fā)現(xiàn)是什么意思?Spring Cloud 如何實現(xiàn)?

          當(dāng)我們開始一個項目時,我們通常在屬性文件中進(jìn)行所有的配置。隨著越來越多的服務(wù)開發(fā)和部署,添加和修改這些屬性變得更加復(fù)雜。有些服務(wù)可能會下降,而某些位置可能會發(fā)生變化。手動更改屬性可能會產(chǎn)生問題。Eureka 服務(wù)注冊和發(fā)現(xiàn)可以在這種情況下提供幫助。由于所有服務(wù)都在 Eureka 服務(wù)器上注冊并通過調(diào)用 Eureka 服務(wù)器完成查找,因此無需處理服務(wù)地點的任何更改和處理。

          Spring Cloud 和dubbo區(qū)別?

          (1)服務(wù)調(diào)用方式 dubbo是RPC springcloud Rest Api

          (2)注冊中心,dubbo 是zookeeper springcloud是eureka,也可以是zookeeper

          (3)服務(wù)網(wǎng)關(guān),dubbo本身沒有實現(xiàn),只能通過其他第三方技術(shù)整合,springcloud有Zuul路由網(wǎng)關(guān),作為路由服務(wù)器,進(jìn)行消費者的請求分發(fā),springcloud支持?jǐn)嗦菲鳎cgit完美集成配置文件支持版本控制,事物總線實現(xiàn)配置文件的更新與服務(wù)自動裝配等等一系列的微服務(wù)架構(gòu)要素。

          負(fù)載平衡的意義什么?

          在計算中,負(fù)載平衡可以改善跨計算機,計算機集群,網(wǎng)絡(luò)鏈接,中央處理單元或磁盤驅(qū)動器等多種計算資源的工作負(fù)載分布。負(fù)載平衡旨在優(yōu)化資源使用,最大化吞吐量,最小化響應(yīng)時間并避免任何單一資源的過載。使用多個組件進(jìn)行負(fù)載平衡而不是單個組件可能會通過冗余來提高可靠性和可用性。負(fù)載平衡通常涉及專用軟件或硬件,例如多層交換機或域名系統(tǒng)服務(wù)器進(jìn)程。

          什么是 Hystrix?它如何實現(xiàn)容錯?

          Hystrix 是一個延遲和容錯庫,旨在隔離遠(yuǎn)程系統(tǒng),服務(wù)和第三方庫的訪問點,當(dāng)出現(xiàn)故障是不可避免的故障時,停止級聯(lián)故障并在復(fù)雜的分布式系統(tǒng)中實現(xiàn)彈性。

          通常對于使用微服務(wù)架構(gòu)開發(fā)的系統(tǒng),涉及到許多微服務(wù)。這些微服務(wù)彼此協(xié)作。

          思考以下微服務(wù)

          img

          假設(shè)如果上圖中的微服務(wù) 9 失敗了,那么使用傳統(tǒng)方法我們將傳播一個異常。但這仍然會導(dǎo)致整個系統(tǒng)崩潰。

          隨著微服務(wù)數(shù)量的增加,這個問題變得更加復(fù)雜。微服務(wù)的數(shù)量可以高達(dá) 1000.這是 hystrix 出現(xiàn)的地方 我們將使用 Hystrix 在這種情況下的 Fallback 方法功能。我們有兩個服務(wù) employee-consumer 使用由 employee-consumer 公開的服務(wù)。

          簡化圖如下所示

          img

          現(xiàn)在假設(shè)由于某種原因,employee-producer 公開的服務(wù)會拋出異常。我們在這種情況下使用 Hystrix 定義了一個回退方法。這種后備方法應(yīng)該具有與公開服務(wù)相同的返回類型。如果暴露服務(wù)中出現(xiàn)異常,則回退方法將返回一些值。

          什么是 Hystrix 斷路器?我們需要它嗎?

          由于某些原因,employee-consumer 公開服務(wù)會引發(fā)異常。在這種情況下使用Hystrix 我們定義了一個回退方法。如果在公開服務(wù)中發(fā)生異常,則回退方法返回一些默認(rèn)值。

          img

          如果 firstPage method() 中的異常繼續(xù)發(fā)生,則 Hystrix 電路將中斷,并且員工使用者將一起跳過 firtsPage 方法,并直接調(diào)用回退方法。斷路器的目的是給第一頁方法或第一頁方法可能調(diào)用的其他方法留出時間,并導(dǎo)致異?;謴?fù)??赡馨l(fā)生的情況是,在負(fù)載較小的情況下,導(dǎo)致異常的問題有更好的恢復(fù)機會 。

          [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nMSJX6ml-1582105816943)(https://user-gold-cdn.xitu.io/2019/12/30/16f55fbfd4e33ae7?imageView2/0/w/1280/h/960/format/webp/ignore-error/1)]

          什么是 Netflix Feign?它的優(yōu)點是什么?

          Feign 是受到 Retrofit,JAXRS-2.0 和 WebSocket 啟發(fā)的 java 客戶端聯(lián)編程序。

          Feign 的第一個目標(biāo)是將約束分母的復(fù)雜性統(tǒng)一到 http apis,而不考慮其穩(wěn)定性。

          在 employee-consumer 的例子中,我們使用了 employee-producer 使用 REST模板公開的 REST 服務(wù)。

          但是我們必須編寫大量代碼才能執(zhí)行以下步驟

          (1)使用功能區(qū)進(jìn)行負(fù)載平衡。

          (2)獲取服務(wù)實例,然后獲取基本 URL。

          (3)利用 REST 模板來使用服務(wù)。前面的代碼如下

          @Controller
          public?class?ConsumerControllerClient?{
          @Autowired
          private?LoadBalancerClient?loadBalancer;
          public?void?getEmployee()?throws?RestClientException,?IOException?{
          ?ServiceInstance?serviceInstance=loadBalancer.choose("employee-producer");
          ?System.out.println(serviceInstance.getUri());
          ?String?baseUrl=serviceInstance.getUri().toString();
          ?baseUrl=baseUrl+"/employee";
          ?RestTemplate?restTemplate?=?new?RestTemplate();
          ?ResponseEntity?response=null;
          ?try{
          ??response=restTemplate.exchange(baseUrl,
          ?????HttpMethod.GET,?getHeaders(),String.class);
          ?}
          ?catch?(Exception?ex)
          ??{
          ??System.out.println(ex);
          ?}
          ?System.out.println(response.getBody());
          }
          123456789101112131415161718192021

          之前的代碼,有像 NullPointer 這樣的例外的機會,并不是最優(yōu)的。我們將看到如何使用 Netflix Feign 使呼叫變得更加輕松和清潔。如果 Netflix Ribbon 依賴關(guān)系也在類路徑中,那么 Feign 默認(rèn)也會負(fù)責(zé)負(fù)載平衡。

          什么是 Spring Cloud Bus?我們需要它嗎?

          考慮以下情況:我們有多個應(yīng)用程序使用 Spring Cloud Config 讀取屬性,而Spring Cloud Config 從 GIT 讀取這些屬性。

          下面的例子中多個員工生產(chǎn)者模塊從 Employee Config Module 獲取 Eureka 注冊的財產(chǎn)。

          img

          如果假設(shè) GIT 中的 Eureka 注冊屬性更改為指向另一臺 Eureka 服務(wù)器,會發(fā)生什么情況。在這種情況下,我們將不得不重新啟動服務(wù)以獲取更新的屬性。

          還有另一種使用執(zhí)行器端點/刷新的方式。但是我們將不得不為每個模塊單獨調(diào)用這個 url。例如,如果 Employee Producer1 部署在端口 8080 上,則調(diào)用 http:// localhost:8080 / refresh。同樣對于 Employee Producer2 http://localhost:8081 / refresh 等等。這又很麻煩。這就是 Spring Cloud Bus 發(fā)揮作用的地方。

          img

          Spring Cloud Bus 提供了跨多個實例刷新配置的功能。因此,在上面的示例中,如果我們刷新 Employee Producer1,則會自動刷新所有其他必需的模塊。如果我們有多個微服務(wù)啟動并運行,這特別有用。這是通過將所有微服務(wù)連接到單個消息代理來實現(xiàn)的。無論何時刷新實例,此事件都會訂閱到偵聽此代理的所有微服務(wù),并且它們也會刷新。可以通過使用端點/總線/刷新來實現(xiàn)對任何單個實例的刷新。

          Spring Cloud斷路器的作用

          當(dāng)一個服務(wù)調(diào)用另一個服務(wù)由于網(wǎng)絡(luò)原因或自身原因出現(xiàn)問題,調(diào)用者就會等待被調(diào)用者的響應(yīng) 當(dāng)更多的服務(wù)請求到這些資源導(dǎo)致更多的請求等待,發(fā)生連鎖效應(yīng)(雪崩效應(yīng))

          斷路器有完全打開狀態(tài):一段時間內(nèi) 達(dá)到一定的次數(shù)無法調(diào)用 并且多次監(jiān)測沒有恢復(fù)的跡象 斷路器完全打開 那么下次請求就不會請求到該服務(wù)

          半開:短時間內(nèi) 有恢復(fù)跡象 斷路器會將部分請求發(fā)給該服務(wù),正常調(diào)用時 斷路器關(guān)閉

          關(guān)閉:當(dāng)服務(wù)一直處于正常狀態(tài) 能正常調(diào)用

          什么是Spring Cloud Config?

          在分布式系統(tǒng)中,由于服務(wù)數(shù)量巨多,為了方便服務(wù)配置文件統(tǒng)一管理,實時更新,所以需要分布式配置中心組件。在Spring Cloud中,有分布式配置中心組件spring cloud config ,它支持配置服務(wù)放在配置服務(wù)的內(nèi)存中(即本地),也支持放在遠(yuǎn)程Git倉庫中。在spring cloud config 組件中,分兩個角色,一是config server,二是config client。

          使用:

          (1)添加pom依賴

          (2)配置文件添加相關(guān)配置

          (3)啟動類添加注解@EnableConfigServer

          什么是Spring Cloud Gateway?

          Spring Cloud Gateway是Spring Cloud官方推出的第二代網(wǎng)關(guān)框架,取代Zuul網(wǎng)關(guān)。網(wǎng)關(guān)作為流量的,在微服務(wù)系統(tǒng)中有著非常作用,網(wǎng)關(guān)常見的功能有路由轉(zhuǎn)發(fā)、權(quán)限校驗、限流控制等作用。

          使用了一個RouteLocatorBuilder的bean去創(chuàng)建路由,除了創(chuàng)建路由RouteLocatorBuilder可以讓你添加各種predicates和filters,predicates斷言的意思,顧名思義就是根據(jù)具體的請求的規(guī)則,由具體的route去處理,filters是各種過濾器,用來對請求做各種判斷和修改。

          后記-送書福利

          為了感謝小伙伴們一直以來的支持,讓 Guide 這個菜逼寫的文章每天能被這么多優(yōu)秀的小伙伴看到,小送 5?本《Spring Boot+Spring Cloud微服務(wù)開發(fā)實戰(zhàn)》送給大家!

          當(dāng)前互聯(lián)網(wǎng)在Web框架上已經(jīng)發(fā)展到微服務(wù)體系架構(gòu)。為了幫助廣大開發(fā)人員快速開展微服務(wù)開發(fā),《Spring Boot+Spring Cloud微服務(wù)開發(fā)實戰(zhàn)》主要從Web網(wǎng)站開發(fā)的基礎(chǔ)知識、Spring Boot相關(guān)知識、Spring Cloud相關(guān)知識,以及微服務(wù)開發(fā)實戰(zhàn)4個方面,系統(tǒng)地介紹微服務(wù)框架中常用的知識點、常用組件,以及程序案例。本書大多章節(jié)都先通過一個入門案例引導(dǎo)開發(fā)人員快速了解相關(guān)組件的功能,在此基礎(chǔ)上再對每個知識點進(jìn)行理論講解與剖析,最后對該組件進(jìn)行源碼分析,幫助開發(fā)人員更加深入地了解每個組件的底層原理,以便更好地進(jìn)行二次開發(fā)。

          參與方式 :留言送 5 本(本周六晚12點截止)

          留言聊一下下面這些話題其中的一個或者是其他和 ?Spring Cloud 相關(guān)的話題:

          1. 自己對于 Spring Cloud?的理解?(Spring Cloud為啥這么火??)
          2. 自己公司用了 SpringCloud 么?用上的話,可以簡單聊一下不?
          3. 自己是如何學(xué)習(xí) ?Spring Cloud 的?
          瀏覽 58
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報

          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文字幕无码Av在线 | 成人一级A片 | 成人无码五月天 | 人人看大箱交 | 国产视频精品i |