二:dubbo中SPI擴(kuò)展實(shí)現(xiàn)

1:RPC協(xié)議擴(kuò)展,封裝遠(yuǎn)程調(diào)用細(xì)節(jié)

擴(kuò)展接口:

com.alibaba.dubbo.rpc.Protocol

com.alibaba.dubbo.rpc.Exporter

com.alibaba.dubbo.rpc.Invoker

已知擴(kuò)展:

com.alibaba.dubbo.rpc.injvm.InjvmProtocol

com.alibaba.dubbo.rpc.dubbo.DubboProtocol

com.alibaba.dubbo.rpc.rmi.RmiProtocol

com.alibaba.dubbo.rpc.http.HttpProtocol

com.alibaba.dubbo.rpc.http.hessian.HessianProtocol

2:調(diào)用攔截?cái)U(kuò)展

擴(kuò)展接口:

com.alibaba.dubbo.rpc.Filter

已知擴(kuò)展:

com.alibaba.dubbo.rpc.filter.EchoFilter

com.alibaba.dubbo.rpc.filter.GenericFilter

com.alibaba.dubbo.rpc.filter.GenericImplFilter

com.alibaba.dubbo.rpc.filter.TokenFilter

com.alibaba.dubbo.rpc.filter.AccessLogFilter

com.alibaba.dubbo.rpc.filter.CountFilter

com.alibaba.dubbo.rpc.filter.ActiveLimitFilter

com.alibaba.dubbo.rpc.filter.ClassLoaderFilter

com.alibaba.dubbo.rpc.filter.ContextFilter

com.alibaba.dubbo.rpc.filter.ConsumerContextFilter

com.alibaba.dubbo.rpc.filter.ExceptionFilter

com.alibaba.dubbo.rpc.filter.ExecuteLimitFilter

com.alibaba.dubbo.rpc.filter.DeprecatedFilter

3:引用監(jiān)聽(tīng)擴(kuò)展

擴(kuò)展接口:(當(dāng)有服務(wù)引用時(shí),觸發(fā)該事件)

com.alibaba.dubbo.rpc.InvokerListener

已知擴(kuò)展:

com.alibaba.dubbo.rpc.listener.DeprecatedInvokerListener

4:暴露監(jiān)聽(tīng)擴(kuò)展

擴(kuò)展接口:當(dāng)有服務(wù)暴露時(shí)鳖谈,觸發(fā)該事件

com.alibaba.dubbo.rpc.ExporterListener

已知擴(kuò)展:

com.alibaba.dubbo.registry.directory.RegistryExporterListener

5:集群擴(kuò)展

擴(kuò)展接口:(當(dāng)有多個(gè)服務(wù)提供方時(shí)器躏,將多個(gè)服務(wù)提供方組織成一個(gè)集群,并偽裝成一個(gè)提供方)

com.alibaba.dubbo.rpc.cluster.Cluster

已知擴(kuò)展:

com.alibaba.dubbo.rpc.cluster.support.FailoverCluster

com.alibaba.dubbo.rpc.cluster.support.FailfastCluster

com.alibaba.dubbo.rpc.cluster.support.FailsafeCluster

com.alibaba.dubbo.rpc.cluster.support.FailbackCluster

com.alibaba.dubbo.rpc.cluster.support.ForkingCluster

com.alibaba.dubbo.rpc.cluster.support.AvaliableCluster

6:路由擴(kuò)展

擴(kuò)展接口:(從多個(gè)服務(wù)提供者方中選擇一個(gè)進(jìn)行調(diào)用)

com.alibaba.dubbo.rpc.cluster.RouterFactory

com.alibaba.dubbo.rpc.cluster.Router

已知擴(kuò)展:

com.alibaba.dubbo.rpc.cluster.router.ScriptRouterFactory

com.alibaba.dubbo.rpc.cluster.router.FileRouterFatory

7:負(fù)載均衡的裸站

擴(kuò)展接口:(從多個(gè)服務(wù)提供者選擇一個(gè)進(jìn)行調(diào)用)

com.alibaba.dubbo.rpc.cluster.loadbalance.RandomLoadBalance

com.alibaba.dubbo.rpc.cluster.loadbalance.RoundRobinLoadBalance

com.alibaba.dubbo.rpc.cluster.loadbalance.LeastActiveLoadBalance

8:合并結(jié)果擴(kuò)展

擴(kuò)展接口:(合并返回結(jié)果吊骤,用于分組聚合)

com.alibaba.dubbo.rpc.cluster.Merger

已知擴(kuò)展:

com.alibaba.dubbo.rpc.cluster.merger.ArrayMerger

com.alibaba.dubbo.rpc.cluster.merger.ListMerger

com.alibaba.dubbo.rpc.cluster.merger.SetMerger

com.alibaba.dubbo.rpc.cluster.merger.MapMerger

9:注冊(cè)中心擴(kuò)展

擴(kuò)展接口:(負(fù)責(zé)服務(wù)的注冊(cè)與發(fā)現(xiàn))

com.alibaba.dubbo.registry.RegistryFactory

com.alibaba.dubbo.registry.Registry

已知擴(kuò)展:

com.alibaba.dubbo.registry.support.dubbo.DubboRegistryFactory

10:監(jiān)控中心擴(kuò)展

擴(kuò)展接口:(負(fù)責(zé)服務(wù)調(diào)用次數(shù)和調(diào)用時(shí)間的監(jiān)控)

com.alibaba.dubbo.monitor.MonitorFactory

com.alibaba.dubbo.monitor.Monitor

已知擴(kuò)展:

com.alibaba.dubbo.monitor.support.dubbo.DubboMonitorFactory

11:擴(kuò)展點(diǎn)加載擴(kuò)展

擴(kuò)展接口:(擴(kuò)展點(diǎn)本身的加載容器,可從不同容器加載擴(kuò)展點(diǎn))

com.alibaba.dubbo.common.extension.ExtensionFactory

已知擴(kuò)展:

com.alibaba.dubbo.common.extension.factory.SpiExtensionFactory

com.alibaba.dubbo.common.config.spring.extension.SpringExtensionFactory

12:動(dòng)態(tài)代理擴(kuò)展

擴(kuò)展接口:(將Invoker接口轉(zhuǎn)換成業(yè)務(wù)接口)

com.alibaba.dubbo.rpc.ProxyFactory

已知擴(kuò)展:

com.alibaba.dubbo.rpc.proxy.JdkProxyFactory

com.alibaba.dubbo.rpc.proxy.JavassistProxyFactory

13:編譯器擴(kuò)展

擴(kuò)展接口:(JAVA代碼編譯器善玫,用于動(dòng)態(tài)生成字節(jié)碼水援,加速調(diào)試)

com.alibaba.dubbo.common.compiler.Compiler

已知擴(kuò)展:

com.alibaba.dubbo.common.compiler.support.JdkCompiler

com.alibaba.dubbo.common.compiler.support.JavassitCompiler

14:消息派發(fā)擴(kuò)展

擴(kuò)展接口:(通道信息派發(fā)器,用于指定線(xiàn)程池模型)

com.alibaba.dubbo.remoting.Dispatcher

已知擴(kuò)展:

com.alibaba.dubbo.remoting.transport.dispatcher.all.AllDispatcher

com.alibaba.dubbo.remoting.transport.dispatcher.direct.DirectDispatcher

com.alibaba.dubbo.remoting.transport.dispatcher.message.MessageOnlyDispatcher

com.alibaba.dubbo.remoting.transport.dispatcher.execution.ExecutionDispatcher

com.alibaba.dubbo.remoting.transprot.dispatcher.connection.ConnectionOrderedDispatcher

15:線(xiàn)程池?cái)U(kuò)展

擴(kuò)展接口:(服務(wù)提供方線(xiàn)程的實(shí)現(xiàn)策略茅郎,當(dāng)服務(wù)器收到一個(gè)請(qǐng)求時(shí),需要在線(xiàn)程池中創(chuàng)建一個(gè)線(xiàn)程去執(zhí)行服務(wù)提供方業(yè)務(wù)邏輯或渤。)

com.alibaba.dubbo.common.threadpool.ThreadPool

已知擴(kuò)展:

com.alibaba.dubbo.common.threadpool.FixedThreadPool

com.alibaba.dubbo.common.threadpool.CachedThreadPool

16:序列化擴(kuò)展

擴(kuò)展接口:(將對(duì)象轉(zhuǎn)化成字節(jié)流系冗,用于網(wǎng)絡(luò)傳輸;以及將字節(jié)流轉(zhuǎn)化為對(duì)象薪鹦,用于在收到字節(jié)流數(shù)據(jù)后還原成對(duì)象掌敬。)

com.alibaba.dubbo.common.serialize.Serialization

com.alibaba.dubbo.common.serialize.ObjectInput

com.alibaba.dubbo.common.serialize.ObjectOutput

已知擴(kuò)展:

com.alibaba.dubbo.common.serialize.dubbo.DubboSerialization

com.alibaba.dubbo.common.serialize.hessian.Hessian2Serialization

com.alibaba.dubbo.common.serialize.java.JavaSerialization

com.alibaba.dubbo.common.serialize.java.CompactedJavaSerialization

17:網(wǎng)絡(luò)傳輸擴(kuò)展

擴(kuò)展接口:(遠(yuǎn)程通訊的服務(wù)器及客戶(hù)端傳輸?shù)膶?shí)現(xiàn))

com.alibaba.dubbo.remoting.Transporter

com.alibaba.dubbo.remoting.Server

com.alibaba.dubbo.remoting.Client

已知擴(kuò)展:

com.alibaba.dubbo.remoting.transport.transporter.netty.NettyTransporter

com.alibaba.dubbo.remoting.transport.transporter.mina.MinaTransporter

com.alibaba.dubbo.remoting.transport.transporter.grizzly.GrizzlyTransporter

18:信息交換擴(kuò)展

擴(kuò)展接口:(基于傳輸層之上,實(shí)現(xiàn)Request-Response信息交換語(yǔ)義池磁。)

com.alibaba.dubbo.remoting.exchange.Exchanger

com.alibaba.dubbo.remoting.exchange.ExchangerServer

com.alibaba.dubbo.remoting.exchange.ExchangerClient

已知擴(kuò)展:

com.alibaba.dubbo.remoting.exchange.exchanger.HeaderExchanger

19:組網(wǎng)擴(kuò)展

擴(kuò)展接口:(對(duì)等網(wǎng)絡(luò)節(jié)點(diǎn)組網(wǎng)器)

com.alibaba.dubbo.remoting.p2p.NetWorker

已知擴(kuò)展:

com.alibaba.dubbo.remoting.p2p.support.MulticastNetworker

com.alibaba.dubbo.remoting.p2p.support.FileNetworker

20:Telnet命令擴(kuò)展

擴(kuò)展接口:(所有服務(wù)器均支持telnet訪(fǎng)問(wèn)奔害,用于人工干預(yù))

com.alibaba.dubbo.remoting.telnet.TelnetHandler

已知擴(kuò)展:

com.alibaba.dubbo.remoting.telnet.support.ClearTelnetHandler

com.alibaba.dubbo.remoting.telnet.support.ExitTelnetHandler

com.alibaba.dubbo.remoting.telnet.support.HelpTelnetHandler

com.alibaba.dubbo.remoting.telnet.support.StatusTelnetHandler

com.alibaba.dubbo.rpc.dubbo.telnet.ListTelnetHandler

com.alibaba.dubbo.rpc.dubbo.telnet.ChangeTelnetHandler

com.alibaba.dubbo.rpc.dubbo.telnet.CurrentTelnetHandler

com.alibaba.dubbo.rpc.dubbo.telnet.InvokerTelnetHandler

com.alibaba.dubbo.rpc.dubbo.telnet.TraceTelnetHandler

com.alibaba.dubbo.rpc.dubbo.telnet.CountTelnetHandler

com.alibaba.dubbo.rpc.dubbo.telnet.PortTelnetHandler

21:狀態(tài)檢查擴(kuò)展

擴(kuò)展接口:(檢查服務(wù)依賴(lài)各種資源的狀態(tài),此狀態(tài)檢查可同時(shí)用于telnet的status命令和hosting的status頁(yè)面地熄。)

com.alibaba.dubbo.common.status.StatusChecker

已知擴(kuò)展:

com.alibaba.dubbo.common.status.support.MemoryStatusChecker

com.alibaba.dubbo.common.status.support.LoadStatusChecker

com.alibaba.dubbo.rpc.dubbo.status.ServerStatusChecker

com.alibaba.dubbo.rpc.dubbo.status.ThreadPoolStatusChecker

com.alibaba.dubbo.registry.directory.RegistryStatusChecker

com.alibaba.dubbo.rpc.config.spring.status.SpringStatusChecker

com.alibaba.dubbo.rpc.config.spring.status.DataSourceStatusChecker

22:容器擴(kuò)展

擴(kuò)展接口:(服務(wù)容器擴(kuò)展华临,用于自定義加載內(nèi)容。)

com.alibaba.dubbo.container.Container

已知擴(kuò)展:

com.alibaba.dubbo.container.spring.SpringContainer

com.alibaba.dubbo.container.spring.JettyContainer

com.alibaba.dubbo.container.spring.Log4jContainer

23:頁(yè)面擴(kuò)展

擴(kuò)展接口:

com.alibaba.dubbo.container.page.PageHandler

已知擴(kuò)展:

com.alibaba.dubbo.container.page.pages.HomePageHandler

com.abliaba.dubbo.container.page.pages.StatusPageHandler

com.alibaba.dubbo.container.page.pages.LogPageHandler

com.alibaba.dubbo.container.page.pages.SystemPageHandler

24:緩存擴(kuò)展

擴(kuò)展接口:(用請(qǐng)求參數(shù)作為key端考,緩存返回結(jié)果雅潭。)

com.alibaba.dubbo.cache.CacheFactory

已知擴(kuò)展:

com.alibaba.dubbo.cache.support.lru.LruCacheFactory

com.alibaba.dubbo.cache.support.threadlocal.ThreadLocalCacheFactory

com.alibaba.dubbo.cache.support.jcache.JCacheFactory

25:驗(yàn)證擴(kuò)展

擴(kuò)展接口:(參數(shù)驗(yàn)證擴(kuò)展點(diǎn))

com.alibaba.dubbo.validation.Validation

已知擴(kuò)展:

com.alibaba.dubbo.validation.support.jvalidation.JValidation

26:日志適配擴(kuò)展

擴(kuò)展接口:(日志輸出適配擴(kuò)展點(diǎn))

com.alibaba.dubbo.common.logger.LoggerAdapter

已知擴(kuò)展:

com.alibaba.dubbo.common.logger.slf4j.Slf4jLoggerAdapter

com.alibaba.dubbo.common.logger.jcl.JclLoggerAdapter

com.alibaba.dubbo.common.logger.log4j.Log4jLoggerAdapter

com.alibaba.dubbo.common.logger.jdk.JdkLoggerAdapter

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市却特,隨后出現(xiàn)的幾起案子扶供,更是在濱河造成了極大的恐慌,老刑警劉巖裂明,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件椿浓,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡闽晦,警方通過(guò)查閱死者的電腦和手機(jī)扳碍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)尼荆,“玉大人左腔,你說(shuō)我怎么就攤上這事⊥比澹” “怎么了液样?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵振亮,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鞭莽,道長(zhǎng)坊秸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任澎怒,我火速辦了婚禮褒搔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘喷面。我一直安慰自己星瘾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布惧辈。 她就那樣靜靜地躺著琳状,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盒齿。 梳的紋絲不亂的頭發(fā)上念逞,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音边翁,去河邊找鬼翎承。 笑死,一個(gè)胖子當(dāng)著我的面吹牛符匾,可吹牛的內(nèi)容都是我干的叨咖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼待讳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼芒澜!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起创淡,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤痴晦,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后琳彩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體誊酌,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年露乏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碧浊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瘟仿,死狀恐怖箱锐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情劳较,我是刑警寧澤驹止,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布浩聋,位于F島的核電站,受9級(jí)特大地震影響臊恋,放射性物質(zhì)發(fā)生泄漏衣洁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一抖仅、第九天 我趴在偏房一處隱蔽的房頂上張望坊夫。 院中可真熱鬧,春花似錦撤卢、人聲如沸环凿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拷邢。三九已至,卻和暖如春屎慢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忽洛。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工腻惠, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人欲虚。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓集灌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親复哆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子欣喧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

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