SpringBoo面試題帶答案_第1頁
SpringBoo面試題帶答案_第2頁
SpringBoo面試題帶答案_第3頁
SpringBoo面試題帶答案_第4頁
SpringBoo面試題帶答案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

什么是SpringBoot?1、 用來簡化spring初始搭建和開發(fā)過程使用特定的方式進(jìn)行配置(properties或者yml文件)2、 創(chuàng)建獨(dú)立的spring引用程序main方法運(yùn)行3、 嵌入Tomcat無需部署war包,直接打成jar包nohupjava-jar-&啟動(dòng)就好4、 簡化了maven的配置4、自動(dòng)配置spring添加對(duì)應(yīng)的starter自動(dòng)化配置SpringBoot常用的starter:1、 spring-boot-starter-web(嵌入Tomcat和web開發(fā)需要的servlet和jsp支持)2、 spring-boot-starter-data-jpa(數(shù)據(jù)庫支持)3、 spring-boot-starter-data-Redis(Redis支持)4、 spring-boot-starter-data-solr(solr搜索應(yīng)用框架支持)5、 mybatis-spring-boot-starter(第三方mybatis集成starter)SpringBoot自動(dòng)配置原理:1、@EnableAutoConfiguration這個(gè)注解會(huì)"猜"你將如何配置spring,前提是你已經(jīng)添加了jar依賴項(xiàng),如果spring-boot-starter-web已經(jīng)添加Tomcat和SpringMVC,這個(gè)注釋就會(huì)自動(dòng)假設(shè)您在開發(fā)一個(gè)web應(yīng)用程序并添加相應(yīng)的spring配置,會(huì)自動(dòng)去maven中讀取每個(gè)starter中的spring.factories文件,該文件里配置了所有需要被創(chuàng)建spring容器中bean2、在main方法中^口上@SpringBootApplication和@EnableAutoConfigurationSpringBootstarter工作原理:1、SpringBoot在啟動(dòng)時(shí)掃描項(xiàng)目依賴的jar包,尋找包含spring.factories文件的jar2、 根據(jù)spring.factories配置加載AutoConfigure3、 根據(jù)@Conditional注解的條件,進(jìn)行自動(dòng)配置并將bean注入到SpringContextSpringBoot的優(yōu)點(diǎn):1、 減少開發(fā)、測試時(shí)間和努力2、 使用JavaConfig有助于避免使用XML3、 避免大量的maven導(dǎo)入和各種版本沖突4、 提供意見發(fā)展方法5、 通過提供默認(rèn)值快速開始開發(fā)6、 沒有單獨(dú)的web服務(wù)器需要,這就意味著不再需要啟動(dòng)Tomcat、Glassfish或其他任何東西7、 需要更少的配置,因?yàn)闆]有web.xml文件。只需添加用?Configuration注釋的類,然后添加用@Bean注釋的方法,Spring將自動(dòng)加載對(duì)象并像以前一樣對(duì)其進(jìn)行管理。甚至可以將@Autowired添加到bean方法中,以使用Spring自動(dòng)裝入需要的依賴關(guān)系中Springcloud解決那些問題:配置管理、(注冊(cè)中心eureka、zk)、服務(wù)發(fā)現(xiàn)、服務(wù)注冊(cè)、斷路器、路由策略、全局鎖、分布式會(huì)話、客戶端調(diào)用、接口網(wǎng)關(guān)(zuul)、服務(wù)管理系統(tǒng)SpringBoot與Springcloud:1>、SpringBoot簡化了xml配置,快速整合框架2>、Springcloud是一套微服務(wù)解決方案一RPC遠(yuǎn)程調(diào)用3>、關(guān)系Springcloud依賴與SpringBoot(web組件用的SpringMVC),為什么Springcloud會(huì)依賴與SpringBoot?因?yàn)镾pringcloud寫接口就是SpringMVC接口4>、SpringBootproperties和yml中可以使用${random}設(shè)置一些隨機(jī)值服務(wù)的調(diào)用:rest、feign(均使用httpclient技術(shù)),負(fù)載均衡ribbon服務(wù)調(diào)用的原理:服務(wù)首先注冊(cè)到注冊(cè)中心eureka中(注冊(cè)一個(gè)名字通過名字調(diào)用)負(fù)載均衡ribbon,先去注冊(cè)中心取到對(duì)應(yīng)的服務(wù),然后交給我ribbon配置詳解:1>、eureka.client.register-with-eureka:是否向注冊(cè)中心注冊(cè)自己,注冊(cè)為true反之為false2>、eureka.client.fetch-registry:是否需要去檢索服務(wù),檢索為true反之為false3>、eureka.client.serviceUrl.defaultZone:指定服務(wù)注冊(cè)中心的地址Eureka:1>、eureka可分為三個(gè)角色:服務(wù)發(fā)現(xiàn)者、服務(wù)注冊(cè)者、注冊(cè)發(fā)現(xiàn)中心,但是這三個(gè)角色并不和實(shí)際部署的模型是一對(duì)一的關(guān)系2>、所有的網(wǎng)絡(luò)通信都是基于http(s)協(xié)議的3>、Eureka和AWS是緊密結(jié)合的,無論是配置還是源碼,比如Region、zone...,Region可以通過配置文件進(jìn)行配置,如果不配置默認(rèn)使用us-east-1。同樣Zone也可以配置,若不配置默認(rèn)使用defaultZone高可用配置:Eurekaserver的高可用實(shí)際上就是將自己作為服務(wù)向其他服務(wù)注冊(cè)中心注冊(cè)自己,這樣就可以形成一組互相注冊(cè)的服務(wù)注冊(cè)中心,以實(shí)現(xiàn)服務(wù)清單的互相同步,達(dá)到高可用效果。微服務(wù):以前所有的代碼都放在同一個(gè)工程中、部署在同一個(gè)服務(wù)器、同一項(xiàng)目的不同模塊不同功能互相搶占資源,微服務(wù)就是將工程根據(jù)不同的業(yè)務(wù)規(guī)則拆分成微服務(wù),部署在不同的服務(wù)器上,服務(wù)之間相互調(diào)用,java中有的微服務(wù)有dubbo(只能用來做微服務(wù))、springcloud(提供了服務(wù)的發(fā)現(xiàn)、斷路器等)。微服務(wù)的特點(diǎn):按業(yè)務(wù)劃分為一個(gè)獨(dú)立運(yùn)行的程序,即服務(wù)單元服務(wù)之間通過HTTP協(xié)議相互通信自動(dòng)化部署可以用不同的編程語言可以用不同的存儲(chǔ)技術(shù)服務(wù)集中化管理微服務(wù)是一個(gè)分布式系統(tǒng)微服務(wù)的優(yōu)勢(shì):1、 將一個(gè)復(fù)雜的業(yè)務(wù)拆分為若干小的業(yè)務(wù),將復(fù)雜的業(yè)務(wù)簡單化,新人只需要了解他所接管的服務(wù)的代碼,減少了新人的學(xué)習(xí)成本。2、 由于微服務(wù)是分布式服務(wù),服務(wù)于服務(wù)之間沒有任何耦合。微服務(wù)系統(tǒng)的微服務(wù)單元具有很強(qiáng)的橫向拓展能力。3、 服務(wù)于服務(wù)之間采用HTTP網(wǎng)絡(luò)通信協(xié)議來通信,單個(gè)服務(wù)內(nèi)部高度耦合,服務(wù)與服務(wù)之間完全獨(dú)立,無耦合。這使得微服務(wù)可以采用任何的開發(fā)語言和技術(shù)來實(shí)現(xiàn),提高開發(fā)效率、降低開發(fā)成本。4、 微服務(wù)是按照業(yè)務(wù)進(jìn)行拆分的,并有堅(jiān)實(shí)的服務(wù)邊界,若要重寫某一業(yè)務(wù)代碼,不需了解所以業(yè)務(wù),重寫簡單。5、 微服務(wù)的每個(gè)服務(wù)單元是獨(dú)立部署的,即獨(dú)立運(yùn)行在某個(gè)進(jìn)程中,微服務(wù)的修改和部署對(duì)其他服務(wù)沒有影響。6、 微服務(wù)在CAP理論中采用的AP架構(gòu),具有高可用分區(qū)容錯(cuò)特點(diǎn)。高可用主要體現(xiàn)在系統(tǒng)7x24不間斷服務(wù),他要求系統(tǒng)有大量的服務(wù)器集群,從而提高系統(tǒng)的負(fù)載能力。分區(qū)容錯(cuò)也使得系統(tǒng)更加健壯。微服務(wù)的不足:1、微服務(wù)的復(fù)雜度:構(gòu)建一個(gè)微服務(wù)比較復(fù)雜,服務(wù)與服務(wù)之間通過HTTP協(xié)議或其他消息傳遞機(jī)制通信,開發(fā)者要選出最佳的通信機(jī)制,并解決網(wǎng)絡(luò)服務(wù)差時(shí)帶來的風(fēng)險(xiǎn)。2、分布式事物:將事物分成多階段提交,如果一階段某一節(jié)點(diǎn)失敗仍會(huì)導(dǎo)致數(shù)據(jù)不正確。如果事物涉及的節(jié)點(diǎn)很多,某一節(jié)點(diǎn)的網(wǎng)絡(luò)出現(xiàn)異常會(huì)導(dǎo)致整個(gè)事務(wù)處于阻塞狀態(tài),大大降低數(shù)據(jù)庫的性能。3、 服務(wù)劃分:將一個(gè)完整的系統(tǒng)拆分成很多個(gè)服務(wù),是一件非常困難的事,因?yàn)檫@涉及了具體的業(yè)務(wù)場景4、 服務(wù)部署:最佳部署容器Docker微服務(wù)和SOA的關(guān)系:微服務(wù)相對(duì)于和ESB聯(lián)系在一起的SOA輕便敏捷的多,微服務(wù)將復(fù)雜的業(yè)務(wù)組件化,也是一種面向服務(wù)思想的體現(xiàn)。對(duì)于微服務(wù)來說,它是SOA的一種體現(xiàn),但是它比ESB實(shí)現(xiàn)的SOA更加輕便、敏捷和簡單。springcloud如何實(shí)現(xiàn)服務(wù)注冊(cè)與發(fā)現(xiàn)?服務(wù)發(fā)布時(shí)指定對(duì)應(yīng)的服務(wù)名(IP地址和端口號(hào)),將服務(wù)注冊(cè)到注冊(cè)中心(eureka和zookeeper),但是這一切是Springcloud自動(dòng)實(shí)現(xiàn)的,只需要在SpringBoot的啟動(dòng)類上加上@EnableDisscoveryClient注解,同一服務(wù)修改端口就可以啟動(dòng)多個(gè)實(shí)例調(diào)用方法:傳遞服務(wù)名稱通過注冊(cè)中心獲取所有的可用實(shí)例,通過負(fù)載均衡策略(Ribbon和Feign)調(diào)用對(duì)應(yīng)的服務(wù)Ribbon和Feign的區(qū)別:Ribbon添加的maven依賴是spring-starter-ribbon,使用@RibbonClient(value="月艮務(wù)名稱”)使用RestTemplate調(diào)用遠(yuǎn)程服務(wù)對(duì)應(yīng)的方法,F(xiàn)eign添加的maven依賴是spring-starter-feign,服務(wù)提供方提供對(duì)外接口,調(diào)用方使用,在接口上使用FeignClient(“指定服務(wù)名”),具體區(qū)別:1、啟動(dòng)類使用的注解不同,Ribbon使用的是@RibbonClient,F(xiàn)eign使用的是@EnableFeignClients2、 服務(wù)的指定位置不同,Ribbon是在@RibbonClient注解上聲明,F(xiàn)eign則是在定義抽象方法的接口中使用@FeignClient聲明3、 調(diào)用方式不同,Ribbon需要自己構(gòu)建http請(qǐng)求,模擬http請(qǐng)求然后使用RestTemplate發(fā)送給其他服務(wù),步驟比較繁瑣。Feign則是在Ribbon的基礎(chǔ)上進(jìn)行了一次改進(jìn),采用接口調(diào)用的方式,將需要調(diào)用的其他服務(wù)的方法定義成抽象方法即可,不需要自己構(gòu)建http請(qǐng)求,不過要注意的是抽象方法的注解、方法簽名要和提供方的完全一致。雪崩效應(yīng):分布式系統(tǒng)中的服務(wù)通信依賴于網(wǎng)絡(luò),網(wǎng)絡(luò)不好,必然會(huì)對(duì)分布式系統(tǒng)帶來很大的影響。在分布式系統(tǒng)中,服務(wù)之間相互依賴,如果一個(gè)服務(wù)之間出現(xiàn)了故障或者網(wǎng)絡(luò)延遲,在高并發(fā)的情況下,會(huì)導(dǎo)致線程阻塞,在很短的時(shí)間內(nèi)該服務(wù)的線程資源會(huì)消耗殆盡,最終使得該服務(wù)不可用。由于服務(wù)的相互依賴,可能會(huì)導(dǎo)致整個(gè)系統(tǒng)的不可用,這就是“雪崩效應(yīng)”。為了防止此類事件的發(fā)生,分布式系統(tǒng)必然要采取相應(yīng)的措施,如熔斷機(jī)制(Springcloud采用的是Hystrix)熔斷機(jī)制:1、 當(dāng)一個(gè)服務(wù)出現(xiàn)故障時(shí),請(qǐng)求失敗次數(shù)超過設(shè)定的閥值(默認(rèn)50)之后,該服務(wù)就會(huì)開啟熔斷器,之后該服務(wù)就不進(jìn)行任何業(yè)務(wù)邏輯操作,執(zhí)行快速失敗,直接返回請(qǐng)求失敗的信息。其他依賴于該服務(wù)的服務(wù)就不會(huì)因?yàn)榈貌坏巾憫?yīng)而造成線程阻塞,這是除了該服務(wù)和依賴于該服務(wù)的部分功能不可用外,其他功能正常。2、 熔斷器還有一個(gè)自我修復(fù)機(jī)制,當(dāng)一個(gè)服務(wù)熔斷后,經(jīng)過一段時(shí)間(5s)半打開熔斷器。半打開的熔斷器會(huì)檢查一部分請(qǐng)求(只能有一個(gè)請(qǐng)求)是否正常,其他請(qǐng)求執(zhí)行快速失敗,檢查的請(qǐng)求如果響應(yīng)成功,則可判斷該服務(wù)正常了,就可關(guān)閉該服務(wù)的熔斷器,反之則繼續(xù)打開熔斷器。這種自我熔斷機(jī)制和自我修復(fù)機(jī)制可以使程序更加健壯、也可以為開發(fā)和運(yùn)維減少很多不必要的工作。3、 熔斷組件往往會(huì)提供一系列的監(jiān)控,如:服務(wù)可用與否、熔斷器是否被打開、目前的吞吐量、網(wǎng)絡(luò)延遲狀態(tài)的監(jiān)控等,從而可以讓開發(fā)人員和運(yùn)維人員的了解服務(wù)的狀況。Eureka基礎(chǔ)架構(gòu):1>、服務(wù)注冊(cè)中心:Eureka提供的服務(wù)端,提供服務(wù)注冊(cè)與發(fā)現(xiàn)的功能1>>、失效剔除:對(duì)于那些非正常下線的服務(wù)實(shí)例(內(nèi)存溢出、網(wǎng)絡(luò)故障導(dǎo)致的),服務(wù)注冊(cè)中心不能收到“服務(wù)下線”的請(qǐng)求,為了將這些無法提供服務(wù)的實(shí)例從服務(wù)列表中剔除,EurekaServer在啟動(dòng)的時(shí)候會(huì)創(chuàng)建一個(gè)定時(shí)任務(wù),默認(rèn)每隔一段時(shí)間(默認(rèn)60s)將當(dāng)前清單中超時(shí)(默認(rèn)90s)沒有續(xù)約的服務(wù)剔除出去。2>>、自我保護(hù):EurekaServer在運(yùn)行期間,會(huì)統(tǒng)計(jì)心跳失敗的比例在15分鐘之內(nèi)是否低于85%,如果出現(xiàn)低于的情況(生產(chǎn)環(huán)境由于網(wǎng)絡(luò)不穩(wěn)定會(huì)導(dǎo)致),EurekaServer會(huì)降當(dāng)前的實(shí)例注冊(cè)信息保護(hù)起來,讓這些實(shí)例不過期,盡可能保護(hù)這些注冊(cè)信息,但是在這保護(hù)期間內(nèi)實(shí)例出現(xiàn)問題,那么客戶端就很容易拿到實(shí)際上已經(jīng)不存在的服務(wù)實(shí)例,會(huì)出現(xiàn)調(diào)用失敗的情況,所以客戶端必須有容錯(cuò)機(jī)制,比如可以使用請(qǐng)求重試、斷路器等機(jī)制。在本地進(jìn)行開發(fā)時(shí)可以使用eureka.server.enable-self-preseervation=false參數(shù)來關(guān)閉保護(hù)機(jī)制,以確保注冊(cè)中心可以將不可用的實(shí)例剔除。2>、服務(wù)提供者:提供服務(wù)的應(yīng)用,可以是SpringBoot應(yīng)用也可以是其他的技術(shù)平臺(tái)且遵循Eureka通信機(jī)制的應(yīng)用。他將自己提供的服務(wù)注冊(cè)到Eureka,以供其他應(yīng)用發(fā)現(xiàn),(如:service層)1>>、服務(wù)注冊(cè):服務(wù)提供者在啟動(dòng)的時(shí)候會(huì)通過發(fā)送Rest請(qǐng)求的方式將自己注冊(cè)到EurekaServer(服務(wù)注冊(cè)中心)中,同時(shí)帶上自身服務(wù)的一些元數(shù)據(jù),EurekaServer接收到這個(gè)Rest請(qǐng)求后,將元數(shù)據(jù)存儲(chǔ)在一個(gè)雙層結(jié)構(gòu)Map中,第一層的key是服務(wù)名,第二層key是具體服務(wù)的實(shí)例名2>>、服務(wù)同步:若有兩個(gè)或兩個(gè)以上的EurekaServer(服務(wù)注冊(cè)中心)時(shí),他們之間是互相注冊(cè)的,當(dāng)服務(wù)提供者發(fā)送注冊(cè)請(qǐng)求到一個(gè)服務(wù)注冊(cè)中心時(shí),它會(huì)將該請(qǐng)求轉(zhuǎn)發(fā)到集群中相連的其他注冊(cè)中心,從而實(shí)現(xiàn)注冊(cè)中心間的服務(wù)同步,這樣服務(wù)提供者的服務(wù)信息可以通過任意一臺(tái)服務(wù)中心獲取到3>>、服務(wù)續(xù)約:在注冊(cè)完服務(wù)之后,服務(wù)提供者會(huì)維護(hù)一個(gè)心跳來持續(xù)告訴EurekaServer:"我還活著”,以防止EurekaServer的"剔除任務(wù)”將該服務(wù)實(shí)例從月艮務(wù)歹列表中排除出去。配置:eureka.instance.lease-renewal-in-seconds=30(續(xù)約任務(wù)的調(diào)用間隔時(shí)間,默認(rèn)30秒,也就是每隔30秒向服務(wù)端發(fā)送一次心跳,證明自己依然存活),eureka.instance.lease-expiration-duration-in-seconds=90(月艮務(wù)失效時(shí)間,默認(rèn)90秒,也就是告訴服務(wù)端,如果90秒之內(nèi)沒有給你發(fā)送心跳就證明我“死”了,將我剔除)3>、服務(wù)消費(fèi)者:消費(fèi)者應(yīng)用從服務(wù)注冊(cè)中心獲取服務(wù)列表,從而使消費(fèi)者可以知道去何處調(diào)用其所需要的服務(wù),如:Ribbon實(shí)現(xiàn)消費(fèi)方式、Feign實(shí)現(xiàn)消費(fèi)方式1>>、獲取服務(wù):當(dāng)啟動(dòng)服務(wù)消費(fèi)者的時(shí)候,它會(huì)發(fā)送一個(gè)Rest請(qǐng)求給注冊(cè)中心,獲取上面注冊(cè)的服務(wù)清單,EurekaServer會(huì)維護(hù)一份只讀的服務(wù)清單來返回給客戶端,并且每三十秒更新一次2>>、服務(wù)調(diào)用:在服務(wù)消費(fèi)者獲取到服務(wù)清單后,通過服務(wù)名可以獲得具體提供服務(wù)的實(shí)例名和該實(shí)例的元信息,采用Ribbon實(shí)現(xiàn)負(fù)載均衡3>>、服務(wù)下線:當(dāng)服務(wù)實(shí)例進(jìn)行正常的關(guān)閉操作時(shí),它會(huì)觸發(fā)一個(gè)服務(wù)下線的Rest請(qǐng)求給EurekaServer,告訴服務(wù)注冊(cè)中心“我要下線了”。服務(wù)端接收到請(qǐng)求之后,將該服務(wù)狀態(tài)設(shè)置為下線,并把下線時(shí)間傳播出去。Eureka和zookeeper都可以提供服務(wù)注冊(cè)與發(fā)現(xiàn)的功能,兩者的區(qū)別:Zookeeper保證了CP(C:一致性,P:分區(qū)容錯(cuò)性),Eureka保證了AP(A:高可用,P:分區(qū)容錯(cuò))1、Zookeeper當(dāng)向注冊(cè)中心查詢服務(wù)列表時(shí),我們可以容忍注冊(cè)中心返回的是幾分鐘以前的信息,但不能容忍直接down掉不可用的。也就是說服務(wù)注冊(cè)功能對(duì)高可用性要求比較高,但是zk會(huì)出現(xiàn)這樣的一種情況,當(dāng)master節(jié)點(diǎn)因?yàn)榫W(wǎng)絡(luò)故障與其他節(jié)點(diǎn)失去聯(lián)系時(shí),剩余的節(jié)點(diǎn)會(huì)重新選leader。問題在于,選取leader的時(shí)間過長(30~120s),且選取期間zk集群都不可用,這樣就會(huì)導(dǎo)致選取期間注冊(cè)服務(wù)癱瘓。在云部署的環(huán)境下,因網(wǎng)絡(luò)問題使得zk集群失去master節(jié)點(diǎn)是較大概率會(huì)發(fā)生的事,雖然服務(wù)最終恢復(fù),但是漫長的選擇時(shí)間導(dǎo)致的注冊(cè)長期不可用是不能容忍的2、Eureka則看明白這一點(diǎn),因此再設(shè)計(jì)的優(yōu)先保證了高可用性。Eureka各個(gè)節(jié)點(diǎn)都是平等的,幾個(gè)節(jié)點(diǎn)掛掉不會(huì)影響到正常節(jié)點(diǎn)的工作,剩余的節(jié)點(diǎn)依然可以提供注冊(cè)和查詢服務(wù)。而Eureka的客戶端再向某個(gè)Eureka注冊(cè)時(shí)如果發(fā)現(xiàn)連接失敗,則會(huì)自動(dòng)切換至其他節(jié)點(diǎn),只要有一臺(tái)Eureka還在,就能保證注冊(cè)服務(wù)的可用(保證可用性),只不過查到的信息可能不是最新的(不保證一致性)。除此之外Eureka還有一種自我保護(hù)機(jī)制,如果在15分鐘內(nèi)超過85%的節(jié)點(diǎn)都沒有正常心跳,那么Eureka就認(rèn)為客戶端與注冊(cè)中心出現(xiàn)了網(wǎng)絡(luò)故障,此時(shí)就會(huì)出現(xiàn)以下幾種情況:1>、Eureka不再從注冊(cè)列表移除因?yàn)殚L時(shí)間沒收到心跳而應(yīng)該過期的服務(wù)2>、Eureka仍然能夠接受新服務(wù)的注冊(cè)和查詢請(qǐng)求,但是不會(huì)被同步到其它節(jié)點(diǎn)上(保證當(dāng)前節(jié)點(diǎn)可用)3>、當(dāng)網(wǎng)絡(luò)穩(wěn)定時(shí),當(dāng)前實(shí)例新的注冊(cè)信息會(huì)被同步到其它節(jié)點(diǎn)中Eureka還有客戶端緩存功能(Eureka分為客戶端程序和服務(wù)器端程序兩個(gè)部分,客戶端程序負(fù)責(zé)向外提供注冊(cè)與發(fā)現(xiàn)服務(wù)接口)。所以即便Eureka集群中所有節(jié)點(diǎn)都失效,或者發(fā)生網(wǎng)絡(luò)分隔故障導(dǎo)致客戶端不能訪問任何一臺(tái)Eureka服務(wù)器;Eureka服務(wù)的消費(fèi)者任然可以通過Eureka客戶端緩存來獲取所有的服務(wù)注冊(cè)信息。甚至最極端的環(huán)境下,所有正常的Eureka節(jié)點(diǎn)都不對(duì)請(qǐng)求產(chǎn)生響應(yīng)也沒有更好的服務(wù)器解決方案來解決這種問題時(shí);得益于Eureka

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論