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