微服務(wù)筆記

一. Eureka服務(wù)注冊(cè)中心

實(shí)現(xiàn)服務(wù)注冊(cè)發(fā)現(xiàn)功能,故障轉(zhuǎn)移;

Eureka Server和Eureka Client;

服務(wù)啟動(dòng)后,會(huì)在Server端進(jìn)行注冊(cè),加入服務(wù)注冊(cè)表,存儲(chǔ)服務(wù)的信息;

Eureka Client是一個(gè)java客戶(hù)端,默認(rèn)使用輪詢(xún)的負(fù)載均衡;

配置:name,url

@EnableEurekaServer,@EnableEurekaClient 啟動(dòng)服務(wù)

注入RestTemplate 使用

主機(jī)號(hào)+端口調(diào)用

傳統(tǒng)情況下在java代碼里訪問(wèn)restful服務(wù),一般使用Apache的HttpClient。不過(guò)此種方法使用起來(lái)太過(guò)繁瑣。spring提供了一種簡(jiǎn)單便捷的模板類(lèi)來(lái)進(jìn)行操作,這就是RestTemplate


二. Ribbon客戶(hù)端的負(fù)載均衡

客戶(hù)端負(fù)載均衡的工具

@LoadBalanced默認(rèn)的輪詢(xún),還有隨機(jī)連接,自定義

直接采用服務(wù)名的方式進(jìn)行調(diào)用



三. Feign遠(yuǎn)程調(diào)用

基于Ribbon的另一個(gè)負(fù)載均衡的客戶(hù)端框架

在接口定義要調(diào)用的服務(wù)名即可

啟動(dòng)類(lèi)@EnableFeignClients,接口@FeignClient


四. Hystrix斷路器

當(dāng)其中一個(gè)服務(wù)阻塞或者異常的時(shí)候,如果有另的服務(wù)調(diào)用了它,會(huì)導(dǎo)致一個(gè)雪崩效應(yīng)

它是一個(gè)分布式系統(tǒng)延遲和容器的工具,保證服務(wù)出現(xiàn)問(wèn)題的情況下,不會(huì)導(dǎo)致整個(gè)服務(wù)失敗。

啟動(dòng)類(lèi)@EnableCircuitBreaker

在接口@FeignClient,加入fallback參數(shù)。定義另一個(gè)接口實(shí)現(xiàn)它(熔斷類(lèi)),作為服務(wù)降級(jí)后的快速響應(yīng)


五、Zuul路由網(wǎng)關(guān)

對(duì)請(qǐng)求的路由和過(guò)濾

將外部的請(qǐng)求轉(zhuǎn)發(fā)到具體的服務(wù)實(shí)例上

過(guò)濾功能負(fù)責(zé)對(duì)請(qǐng)求的處理進(jìn)行干預(yù)。

zuul和Eureka整合,zuul注冊(cè)Eureka里,作為Eureka服務(wù)治理下的應(yīng)用,可以從Eureka獲取到其他服務(wù)的消息。

@EnableZuulProxy

統(tǒng)一的網(wǎng)關(guān)配置

服務(wù)名

可以通過(guò)路徑訪問(wèn)服務(wù)

不可通過(guò)路徑訪問(wèn)服務(wù)


六、spring cloud config配置中心

為微服務(wù)提供了中心化的配置


七、Nacos服務(wù)注冊(cè)發(fā)現(xiàn)

配置中心信息:服務(wù)名,url網(wǎng)址

@EnableDiscoveryClient


八、Sentinel 服務(wù)熔斷


九、Nacos Config Profile分布式配置

在Nacos Server控制臺(tái),添加配置文件

本地項(xiàng)目配置文件:bootstrap.yml,對(duì)應(yīng)讀取服務(wù)器上的yml文件

@RefreshScope實(shí)現(xiàn)動(dòng)態(tài)更新


十、Dubbo

Java RPC 分布式服務(wù)框架

面向接口的遠(yuǎn)程方法調(diào)用,智能容錯(cuò)和負(fù)載均衡,以及服務(wù)自動(dòng)注冊(cè)和發(fā)現(xiàn)。

RPC 是面向過(guò)程,Restful 是面向資源

dubbo-api,provider,consumer

負(fù)載均衡:隨機(jī),輪循

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 首先講到單體應(yīng)用架構(gòu),何所謂單體應(yīng)用架構(gòu),在互聯(lián)網(wǎng)開(kāi)始階段,一個(gè)系統(tǒng)的所有模塊都集中在一起,并以jar包的方式統(tǒng)...
    華仔閱讀閱讀 786評(píng)論 0 0
  • 當(dāng)我們找到了微服務(wù)邊界,將應(yīng)用分解成了多個(gè)微服務(wù),那么接下來(lái)一個(gè)重要的問(wèn)題就是這些微服務(wù)的集成了。 一個(gè)健壯的微服...
    Raymond_Z閱讀 1,678評(píng)論 1 5
  • Service Mesh 是一種新型的用于處理服務(wù)與服務(wù)之間通信的技術(shù),保證服務(wù)與服務(wù)之間調(diào)用的可靠性。在使用的時(shí)...
    胖琪的升級(jí)之路閱讀 592評(píng)論 0 0
  • 微服務(wù)架構(gòu)模式的核心在于如何識(shí)別服務(wù)的邊界,設(shè)計(jì)出合理的微服務(wù)。但如果要將微服務(wù)架構(gòu)運(yùn)用到生產(chǎn)項(xiàng)目上,并且能夠發(fā)揮...
    java菜閱讀 3,055評(píng)論 0 6
  • 為什么孩子明明做得不夠好,我還要百分之百的相信他? 孩子明明做的不夠好,是基于過(guò)去的事實(shí),這并不代表孩子未來(lái)也是這...
    苦茶_09e4閱讀 106評(píng)論 0 0

友情鏈接更多精彩內(nèi)容