代理模式說明與特點(diǎn) 代理模式給某一個(gè)對(duì)象提供一個(gè)代理對(duì)象,并由代理對(duì)象控制對(duì)原對(duì)象的引用。 在有些情況下,一個(gè)客戶不能或者不想直接訪問另一個(gè)對(duì)象,這時(shí)需要找一個(gè)中介幫忙完成某...
代理模式說明與特點(diǎn) 代理模式給某一個(gè)對(duì)象提供一個(gè)代理對(duì)象,并由代理對(duì)象控制對(duì)原對(duì)象的引用。 在有些情況下,一個(gè)客戶不能或者不想直接訪問另一個(gè)對(duì)象,這時(shí)需要找一個(gè)中介幫忙完成某...
服務(wù)導(dǎo)出 導(dǎo)出 Dubbo 服務(wù), 前置工作做完,接下來就可以進(jìn)行服務(wù)導(dǎo)出了。具體步驟如下: 獲取注冊(cè)中心列表,由于支持多注冊(cè)中心,因此注冊(cè)中心list 根據(jù)注冊(cè)中心,創(chuàng)建r...
介紹 本篇文章,我們來研究一下 Dubbo 導(dǎo)出服務(wù)的過程。Dubbo 服務(wù)導(dǎo)出過程始于 Spring 容器發(fā)布刷新事件,Dubbo 在接收到事件后,會(huì)立即執(zhí)行服務(wù)導(dǎo)出邏輯。...
背景 這里我們簡(jiǎn)單學(xué)習(xí)一些spring、zookeeper、netty的知識(shí)點(diǎn),因?yàn)樵诤罄m(xù)的dubbo源碼中會(huì)涉及到這些。如果我們不知道來龍去脈,在理解dubbo源碼上有點(diǎn)困...
上篇我們簡(jiǎn)單講了dubbo activate的使用,同樣也是沒有什么代碼,還是從測(cè)試代碼開始: ExtensionLoader.getExtensionLoader已經(jīng)講解過...
前言 Activate注解標(biāo)識(shí)一個(gè)擴(kuò)展是否被激活和使用,可以放在定義的類上和方法上,dubbo用它在SPI擴(kuò)張類定義上,標(biāo)識(shí)這個(gè)擴(kuò)展實(shí)現(xiàn)激活的條件和時(shí)機(jī),先看下定義: 看到這...
上篇我們簡(jiǎn)單講了dubbo Adaptive的使用,沒有太多代碼,一個(gè)接口和幾個(gè)實(shí)現(xiàn)類,還有一個(gè)配置文件和測(cè)試類。接口和實(shí)現(xiàn)類沒有什么講的,因此入口就從測(cè)試類開始。 測(cè)試代碼...
前言 前面兩篇文章對(duì)dubbo SPI的使用和原理進(jìn)行簡(jiǎn)單的講解,大家應(yīng)該對(duì)dubbo SPI有了認(rèn)識(shí)。在 Dubbo 中,很多拓展都是通過 SPI 機(jī)制進(jìn)行加載的,比如 P...
上篇我們簡(jiǎn)單講了dubbo SPI的使用,沒有太多代碼,一個(gè)接口和兩個(gè)實(shí)現(xiàn)類,還有一個(gè)配置文件和測(cè)試類。接口和實(shí)現(xiàn)類沒有什么講的,因此入口就從測(cè)試類開始。 測(cè)試類代碼如下 我...
SPI簡(jiǎn)介 SPI 全稱為 Service Provider Interface,是一種服務(wù)發(fā)現(xiàn)機(jī)制。SPI 的本質(zhì)是將接口實(shí)現(xiàn)類的全限定名配置在文件中,并由服務(wù)加載器讀取配...
spring cloud stream 是一個(gè)構(gòu)建消息驅(qū)動(dòng)微服務(wù)的框架。 應(yīng)用程序通過 inputs 或者 outputs 來與 Spring Cloud Stream 中b...
微服務(wù)架構(gòu)是一個(gè)強(qiáng)大的設(shè)計(jì)規(guī)范,按照業(yè)務(wù)劃分單元,將負(fù)責(zé)的單體軟件分解為更小、更容易管理的多個(gè)單元。然而這種靈活性是要付出代價(jià)的,那就是復(fù)雜性,如果出現(xiàn)了錯(cuò)誤和異常,很難定位...
關(guān)于spring cloud OAuth2 OAuth2是一個(gè)基于令牌的安全框架,允許用戶使用第三方驗(yàn)證服務(wù)進(jìn)行驗(yàn)證,如果用戶成功通過了驗(yàn)證,則會(huì)獲得一個(gè)令牌,該令牌必須與每...
使用zuul生成關(guān)聯(lián)traceID 這里我們使用zuul的過慮器,完成一個(gè)trace日志的功能,創(chuàng)建一個(gè)traceID,關(guān)聯(lián)整個(gè)鏈路,打印在日志中。 從一個(gè)請(qǐng)求的開始和結(jié)束,...
服務(wù)網(wǎng)關(guān) Spring Cloud Zuul路由是微服務(wù)架構(gòu)的不可或缺的一部分,提供動(dòng)態(tài)路由,監(jiān)控,彈性,安全等的邊緣服務(wù)。Zuul是Netflix出品的一個(gè)基于JVM路由和...
上篇文章介紹了hystrix的使用,當(dāng)一個(gè)@HystrixCommand被執(zhí)行時(shí),可以有兩種不同的隔離策略:THREAD(線程)和SEMAPHORE(信號(hào)量)。在使用THRE...
hystrix使用背景和場(chǎng)景 所有的系統(tǒng),特別是分布式系統(tǒng),都會(huì)遇到故障,如何構(gòu)建系統(tǒng)應(yīng)對(duì)這種故障呢?當(dāng)服務(wù)崩潰了,很容易檢查這個(gè)服務(wù)不在了,應(yīng)用程序很容易繞過他。但一個(gè)服務(wù)...
別鬧。老婆
2、spring cloud eureka1、搭建服務(wù)注冊(cè)中心 使用過阿里的dubbo應(yīng)該知道dubbo服務(wù)需要一個(gè)注冊(cè)中心,將服務(wù)的信息注冊(cè)到注冊(cè)中心上,調(diào)用遠(yuǎn)程服務(wù)的時(shí)候,dubbo會(huì)在注冊(cè)中心上發(fā)現(xiàn)服務(wù)并進(jìn)行遠(yuǎn)...