Dubbo SPI 插件及详情

Dubbo SPI 定义手册,框架中的 SPI 定义大全。

Dubbo 在框架中定义了非常多的扩展点,因此,当你发现官方库没法满足业务需求,想为 Dubbo 框架提供定制能力时,请优先查阅以下扩展点定义,看是否能通过提供扩展实现的方式无侵入的定制 Dubbo 框架

具体可参见本文下方的 Dubbo SPI 扩展定义汇总

扩展点汇总

生命周期与事件回调

SPI 扩展定义功能说明示例实现激活条件
org.apache.dubbo.common.lang.ShutdownHookCallback优雅下线回调逻辑扩展点,Dubbo 进程销毁前会调用所有 ShutdownHookCallback 实现无需配置,自动激活
org.apache.dubbo.common.threadpool.event.ThreadPoolExhaustedListener当 dubbo 业务线程池满时,会调用这个扩展点发出事件通知org.apache.dubbo.metrics.collector.sample.MetricThreadPoolExhaustedListener通过 dubbo.protocol.thread-pool-exhausted-listeners=spi-name1,spi-name2 设置激活哪些实现
org.apache.dubbo.rpc.ExporterListener每个 Exporter 成功 export/unexport 发布后,都会回调这个扩展点org.apache.dubbo.rpc.listener.InjvmExporterListener扩展实现必须增加 @Activate 注解激活,可按需配置激活条件。支持通过在 URL 中配置 exporter.listener=spi-name1,spi-name2 控制具体激活哪个实现
org.apache.dubbo.rpc.InvokerListener每个服务 Invoker 成功 refer/destroy 发布后,都会回调这个扩展点org.apache.dubbo.rpc.protocol.CountInvokerListener扩展实现必须增加 @Activate 注解激活,可按需配置激活条件。支持通过在 URL 中配置 invoker.listener=spi-name1,spi-name2 控制具体激活哪个实现
org.apache.dubbo.common.status.StatusChecker对外透出内部组件状态的扩展点,每个需要透出状态的组件均可实现此扩展点。org.apache.dubbo.rpc.protocol.dubbo.status.ThreadPoolStatusChecker通过设置 dubbo.protocol.status=spi-name1,spi-name2 激活
org.apache.dubbo.config.ServiceListenerServciceConfig 回调扩展点,每个 ServiceConfig 成功 export/unexport 后都会被回调。拦截点与 ExporterListener 略有不同无需配置,自动激活
org.apache.dubbo.registry.RegistryServiceListener服务 URL 向注册中心 register/unregister 之后的回调扩展点,所有扩展实现会被依次通知扩展实现必须增加 @Activate 注解激活,默认激活。支持通过在 Registry URL 中配置 registry.listeners 控制具体激活哪个实现,如dubbo.registry.parameters.registry.listeners=spi-name1,spi-name2
org.apache.dubbo.registry.integration.RegistryProtocolListener用于接口级服务发现。org.apache.dubbo.registry.client.migration.MigrationRuleListenerRegistryProtocol listener is introduced to provide a chance to user to customize or change export and refer behavior of RegistryProtocol. For example: re-export or re-refer on the fly when certain condition meets.
org.apache.dubbo.qos.probe.LivenessProbe生命周期检测扩展点。可通过 qos live http 接口配置为 k8s liveness 检测,qos live 会检查所有 LivenessProbe 扩展点实现扩展实现必须增加 @Activate 注解激活,默认激活。支持通过在 URL 中配置 dubbo.application.liveness-probe=spi-name1,spi-name2 控制具体激活哪些实现
org.apache.dubbo.qos.probe.ReadinessProbe生命周期检测扩展点。可通过 qos ready http 接口配置为 k8s readiness 检测,qos ready 会检查所有 ReadinessProbe 扩展点实现扩展实现必须增加 @Activate 注解激活,默认激活。支持通过在 URL 中配置 dubbo.application.readiness-probe=spi-name1,spi-name2 控制具体激活哪些实现
org.apache.dubbo.qos.probe.StartupProbe生命周期检测扩展点。可通过 qos startup http 接口配置为 k8s startup 检测,qos startup 会检查所有 StartupProbe 扩展点实现扩展实现必须增加 @Activate 注解激活,默认激活。支持通过在 URL 中配置 dubbo.application.startup-probe=spi-name1,spi-name2 控制具体激活哪些实现
org.apache.dubbo.common.deploy.ApplicationDeployListenerDubbo 进程启动生命周期中的回调扩展,支持包括初始化、启动成功、停止等多个回调点。如果是多应用部署的场景,则是单应用粒度的生命周期回调。org.apache.dubbo.security.cert.CertDeployerListener无需配置,自动激活
org.apache.dubbo.common.deploy.ModuleDeployListenerDubbo 进程启动生命周期中的回调扩展,支持包括初始化、启动成功、停止等多个回调点。如果是多模块部署的场景,则是单模块粒度的生命周期回调。无需配置,自动激活
org.apache.dubbo.qos.api.BaseCommandQoS 命令扩展点,实现该扩展点增加新 QoS 命令。org.apache.dubbo.qos.command.impl.Ls无需配置,自动激活
org.apache.dubbo.remoting.telnet.TelnetHandler
org.apache.dubbo.config.bootstrap.DubboBootstrapStartStopListener

配置相关

SPI 扩展定义功能说明示例实现激活条件
org.apache.dubbo.common.extension.ExtensionInjectorIoC 注入器扩展点,通过扩展可以实现多种类型的示例自动注入,用于 Dubbo 框架 SPI 实例与不同 IOC 容器之间的结合,如支持 Spring Bean 注入 SPI 实例。org.apache.dubbo.config.spring.extension.SpringExtensionInjector无需额外配置,自动激活
org.apache.dubbo.common.infra.InfraAdapter用于自定义加载环境变量的扩展实现,可以批量的通过编码的方式获取你要读取的环境变量,框架会自动将这些值附加到每个服务的 URL 参数中。org.apache.dubbo.common.infra.support.EnvironmentAdapter无需额外配置,自动激活
org.apache.dubbo.common.logger.LoggerAdapter日志框架适配,如果要额外提供 Dubbo 不支持的日志框架适配,可以使用此扩展点。org.apache.dubbo.common.logger.slf4j.Slf4jLoggerAdapter通过配置 dubbo.application.logger=spi-name 激活
org.apache.dubbo.config.ConfigInitializer在配置初始化之前,服务初始化之前定制 ServciceConfig、ReferenceConfig 参数扩展实现必须增加 @Activate 注解激活,可按需增加激活条件
org.apache.dubbo.config.CommonConfigPostProcessor在配置初始化之后,服务初始化之前定制 ServciceConfig、ReferenceConfig 参数。在 ConfigInitializer 之后执行。org.apache.dubbo.rpc.protocol.rest.config.FeignClientAnnotationConfigPostProcessor扩展实现必须增加 @Activate 注解激活,可按需增加激活条件
org.apache.dubbo.config.spring.context.DubboSpringInitCustomizerCustom dubbo spring initialization. Customize dubbo spring initialization on bean registry processing phase.�无需额外配置,自动激活

服务发现

SPI 扩展定义功能说明示例实现激活条件
org.apache.dubbo.registry.AddressListener用于服务发现。URL 地址通知发生时会调用此扩展点实现,可做一些地址预处理操作扩展实现必须增加 @Activate 注解激活,可按需配置激活条件
org.apache.dubbo.registry.ProviderFirstParams用于服务发现。用于指定 URL 参数优先级,改扩展点实现返回的参数列表(provider优先级高于consumer),多个扩展实现的参数列表会合并org.apache.dubbo.registry.support.DefaultProviderFirstParams无需配置,自动激活
org.apache.dubbo.registry.RegistryFactory用于接口级服务发现。通过扩展此可SPI实现不同的注册中心适配org.apache.dubbo.registry.nacos.NacosRegistryFactory通过配置 dubbo.registry.address=spi-name://ip:port 激活
org.apache.dubbo.registry.client.RegistryClusterIdentifier用于应用级服务发现。Dubbo 框架支持为注册中心集群指定标识,通过此标识 key 可以对地址 URL 进行分类(来自哪个集群),从而根据不同集群做一些事情。此扩展点给用户机会指定依据哪个 key 来作为注册中心集群分类。org.apache.dubbo.registry.client.DefaultRegistryClusterIdentifier通过 dubbo.provider.parameters.registry-cluster-type=spi-name 激活指定扩展实现
org.apache.dubbo.registry.client.ServiceDiscoveryFactory用于应用级服务发现。通过扩展此可SPI实现不同的注册中心适配org.apache.dubbo.registry.nacos.NacosServiceDiscoveryFactory通过配置 dubbo.registry.address=spi-name://ip:port 激活,同时指定 dubbo.registry.register-mode=instance 激活应用级服务发现
org.apache.dubbo.registry.client.ServiceInstanceCustomizer用于应用级服务发现。在应用级地址实例 URL 注册到注册中心之前,通过此扩展点实现进行定制org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataCustomizer无需配置,自动激活
org.apache.dubbo.registry.client.migration.MigrationAddressComparator用于应用级服务发现。作为接口级地址向应用级别地址迁移机制的一部分,在框架决策是否迁移之前,用于对两边的地址做比较,可自行定制决策逻辑。org.apache.dubbo.registry.client.migration.DefaultMigrationAddressComparator无需配置,自动激活
org.apache.dubbo.registry.client.migration.PreMigratingConditionChecker用于应用级服务发现。作为接口级地址向应用级别地址迁移机制的一部分,在框架决策是否迁移之前,可自行定制检查逻辑。无需配置,自动激活
org.apache.dubbo.metadata.MetadataParamsFilter用于应用级服务发现。通过该扩展点可以控制哪些参数注册到注册中心,哪些参数注册到服务元数据。org.apache.dubbo.metadata.DefaultMetadataParamsFilter扩展实现必须增加 @Activate 注解激活。支持通过在 URL 中配置 params-filter 控制具体激活哪个实现,如 dubbo.provider.parameters.params-filter=-default,spi-name1 表示关闭所有扩展实现仅启用 spi-name1 实现
org.apache.dubbo.registry.client.metadata.ServiceInstanceNotificationCustomizer用于应用级服务发现。识别特殊类型的地址 URL,示例扩展实现用于识别 Spring Cloud Alibaba Dubbo 类型地址org.apache.dubbo.registry.client.metadata.SpringCloudServiceInstanceNotificationCustomizer无需配置,自动激活。
org.apache.dubbo.registry.integration.ServiceURLCustomizer用于接口级服务发现。在优化接口级地址列表并做 URL 精简时,可以通过该扩展点指定哪些 URL 注册到注册中心、哪些 URL 不注册。当有多个扩展实现时,效果叠加。org.apache.dubbo.registry.integration.DefaultServiceURLCustomizer无需配置,自动激活。
org.apache.dubbo.rpc.cluster.ProviderURLMergeProcessor用于接口级服务发现。该扩展点用于完成 consumer url 和 provider url 合并,可以使用不同的实现控制合并策略,以确定保留不同的 key,使用不同的覆盖关系(仅对接口级服务发现有效)org.apache.dubbo.rpc.cluster.support.merger.DefaultProviderURLMergeProcessor可通过配置 dubbo.consumer.url-merge-processor=spi-name 启用指定扩展实现

RPC与流量管控

SPI 扩展定义功能说明示例实现激活条件
org.apache.dubbo.rpc.ProtocolRPC 协议实现扩展点。通过扩展该扩展点增加更多的协议实现org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol通过配置 dubbo.prorocol.name=spi-nam,e 激活
org.apache.dubbo.rpc.ProxyFactoryRPC 代理实现扩展点。可以提供多种不同的代理实现,如字节码增强、JDK 等org.apache.dubbo.rpc.proxy.javassist.JavassistProxyFactory通过配置 dubbo.application.compiler=spi-name 激活
org.apache.dubbo.rpc.ZoneDetector在多注册中心场景下,Dubbo 提供了自动同区域优先的匹配策略。此扩展点可以让用户更方便的扩展 zone 读取策略,以更灵活的决策当前请求属于哪个 zone。默认情况下框架会从 RpcContext 特定的 key 读取只会有一个 ZoneDetector 实现会被激活。key 为 default的扩展实现将优先被激活。
org.apache.dubbo.rpc.cluster.ClusterRPC 请求容灾策略扩展点,比如通过 Cluster 可以设置在请求失败时动作,如 FailoverCluster、FailfastCluster 等。org.apache.dubbo.rpc.cluster.support.FailoverCluster通过配置 dubbo.consumer.cluster=spi-name 激活
org.apache.dubbo.rpc.cluster.LoadBalance负载均衡策略扩展点,通过扩展可以实现不同的负载均衡策略。org.apache.dubbo.rpc.cluster.loadbalance.RandomLoadBalance通过配置 dubbo.consumer.loadbalance=spi-name 激活
org.apache.dubbo.rpc.HeaderFilter在 RPC 请求前,通过不同的扩展实现各种 attachment/header 校验策略org.apache.dubbo.rpc.filter.TokenHeaderFilter扩展实现必须增加 @Activate 注解激活。支持通过在 URL 中配置 header.filter=spi-name1,spi-name2 控制具体激活哪个实现
org.apache.dubbo.rpc.FilterRPC 请求过滤器,用于在请求发起前、响应结果返回后,对 RPC 调用进行过滤org.apache.dubbo.rpc.filter.GenericFilter扩展实现必须增加 @Activate 注解激活,可按需配置激活条件如@Activate(group=“consumer”)。支持通过在 URL 中配置 service.filter=spi-name1,spi-name2 控制具体在provider侧激活哪些实现;支持通过在 URL 中配置 reference.filter=spi-name1,spi-name2 控制具体在consumer侧激活哪些实现
org.apache.dubbo.rpc.cluster.filter.ClusterFilterRPC 请求过滤器,与 Filter 作用相同,但 ClusterFilter 发生在选址之前。对于大部分用户可以直接使用:org.apache.dubbo.rpc.Filterorg.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter扩展实现必须增加 @Activate 注解激活,可按需配置激活条件。支持通过在 URL 中配置 filter=spi-name1,spi-name2 控制具体激活哪个实现
org.apache.dubbo.rpc.cluster.RouterFactory路由器扩展点,可以通过扩展增加不同的路由规则策略。扩展实现必须增加 @Activate 注解激活,可按需配置激活条件。支持通过在 URL 中配置 router=spi-name1,spi-name2 控制具体激活哪个实现
org.apache.dubbo.rpc.cluster.router.state.StateRouterFactory路由器扩展点,可以通过扩展增加不同的路由规则策略。与 RouterFactory 作用一致,但具备更高性能。对大部分用户,为简单起见可直接使用 RouterFactoryorg.apache.dubbo.rpc.cluster.router.condition.ConditionStateRouterFactory扩展实现必须增加 @Activate 注解激活,可按需配置激活条件。支持通过在 URL 中配置 router=spi-name1,spi-name2 控制具体激活哪个实现
org.apache.dubbo.rpc.cluster.ConfiguratorFactory动态配置规则扩展点,通过增加扩展可以增加不同的动态配置规则策略org.apache.dubbo.rpc.cluster.configurator.override.OverrideConfiguratorFactory扩展实现必须增加 @Activate 注解激活,可按需配置激活条件。支持通过在 URL 中配置 router=spi-name1,spi-name2 控制具体激活哪个实现
org.apache.dubbo.rpc.cluster.router.condition.matcher.pattern.ValuePattern路由规则处理扩展点。条件路由规则内部的规则处理器,通过扩展可支持更丰富的规则和匹配条件org.apache.dubbo.rpc.cluster.router.condition.matcher.pattern.range.RangeValuePattern自动激活,通过规则控制激活哪个具体实现
org.apache.dubbo.rpc.cluster.router.condition.matcher.ConditionMatcherFactory路由规则处理扩展点。条件路由规则内部的规则处理器,通过扩展可支持更丰富的规则和匹配条件org.apache.dubbo.rpc.cluster.router.condition.matcher.argument.ArgumentConditionMatcherFactory扩展实现必须增加 @Activate 注解激活,可按需配置激活条件。
org.apache.dubbo.rpc.cluster.router.mesh.util.TracingContextProviderMeshRule 路由规则处理扩展点,可用于从不同的第三方 Tracing 系统读取上下文无需配置,自动激活
org.apache.dubbo.rpc.cluster.router.mesh.route.MeshEnvListenerFactoryMeshRule 路由规则处理扩展点无需配置,自动激活
org.apache.dubbo.cache.CacheFactory缓存实现扩展点,用于缓存 RPC 调用结果org.apache.dubbo.cache.support.expiring.ExpiringCacheFactory通过在 URL 中配置 cache=spi-name 控制具体激活哪个实现
org.apache.dubbo.common.serialize.Serialization序列化协议扩展点,如果要扩展新的序列化协议,可以使用此扩展点。org.apache.dubbo.common.serialize.hessian2.Hessian2Serialization通过配置 dubbo.provider.serialization=spi-name 激活
org.apache.dubbo.common.threadpool.ThreadPool线程池策略扩展点。目前仅适用于 dubbo 协议实现,不适用于 triple 协议。org.apache.dubbo.common.threadpool.support.fixed.FixedThreadPool通过配置 dubbo.provider.threadpool=spi-name 激活
org.apache.dubbo.rpc.executor.IsolationExecutorSupportFactory线程池隔离策略扩展点。如 dubbo 协议、triple 协议都可以定义不同的隔离策略,每个协议可设置一个线程池隔离策略。org.apache.dubbo.rpc.protocol.tri.transport.TripleIsolationExecutorSupportFactory跟随用户配置的 dubbo.protocol.name,因此必须确保配置的 key 值与 rpc 协议名相同
org.apache.dubbo.rpc.PenetrateAttachmentSelector通过此扩展点可以自定义参数全链路传递(dubbo链路),Dubbo 默认只会在 A->B 链路传递参数,通过此扩展点可以控制参数在 A->B->C一直传递下去。无需配置,自动激活
org.apache.dubbo.rpc.cluster.interceptor.ClusterInterceptor~~与 ~~org.apache.dubbo.rpc.cluster.filter.ClusterFilter 相同,废弃废弃

服务治理

SPI 扩展定义功能说明示例实现激活条件
org.apache.dubbo.common.config.configcenter.DynamicConfigurationFactory配置中心核心扩展点。用于提供不同配置中心适配实现。org.apache.dubbo.configcenter.support.nacos.NacosDynamicConfigurationFactory通过指定 dubbo.config-center.address=spi-name:// 激活
org.apache.dubbo.metadata.report.MetadataReportFactory元数据中心扩展点,用于提供新的元数据中心存储实现org.apache.dubbo.metadata.store.nacos.NacosMetadataReportFactory通过指定 dubbo.metadata-report.address=spi-name:// 激活
org.apache.dubbo.metrics.report.MetricsReporterFactoryMetrics 指标上报扩展点,可以通过扩展实现适配到不同的 Metrics 后端服务org.apache.dubbo.metrics.prometheus.PrometheusMetricsReporterFactory通过指定 dubbo.metrics.protocol=spi-name 激活
org.apache.dubbo.metrics.collector.MetricsCollector框架内部 Metrics 采集扩展点,可以通过扩展支持 RPC、注册中心等不同组件的 metrics 埋点数据采集org.apache.dubbo.metrics.registry.collector.RegistryMetricsCollector扩展实现必须增加 @Activate 注解激活,可按需增加激活条件
org.apache.dubbo.auth.spi.AccessKeyStorage用于 dubbo-auth 模块,该扩展点可不同的扩展 AK 来源读取方式org.apache.dubbo.auth.DefaultAccessKeyStorage通过指定 accessKey.storage URL 参数激活
org.apache.dubbo.auth.spi.Authenticator用于 dubbo-auth 模块,该扩展点用于实现具体的认证逻辑org.apache.dubbo.auth.AccessKeyAuthenticator通过指定 authenticator URL 参数激活
org.apache.dubbo.common.ssl.CertProviderTLS 证书来源扩展,用于适配不同的证书来源实现org.apache.dubbo.common.ssl.impl.SSLConfigCertProvider扩展实现必须增加 @Activate 注解激活

协议与传输层实现

SPI 扩展定义功能说明示例实现激活条件
org.apache.dubbo.remoting.ChannelHandler
org.apache.dubbo.remoting.Codec
org.apache.dubbo.remoting.Codec2
org.apache.dubbo.remoting.Dispatcher
org.apache.dubbo.remoting.Transporter
org.apache.dubbo.rpc.protocol.dubbo.ByteAccessor
org.apache.dubbo.remoting.api.pu.PortUnificationTransporter
org.apache.dubbo.remoting.api.WireProtocol
org.apache.dubbo.remoting.api.connection.ConnectionManager
org.apache.dubbo.remoting.exchange.Exchanger
org.apache.dubbo.remoting.http.HttpBinder
org.apache.dubbo.remoting.http12.message.HttpMessageEncoderFactory
org.apache.dubbo.remoting.http12.message.HttpMessageDecoderFactory
org.apache.dubbo.remoting.http12.h2.Http2ServerTransportListenerFactory
org.apache.dubbo.remoting.http12.h1.Http1ServerTransportListenerFactory
org.apache.dubbo.remoting.http12.message.HttpMessageAdapterFactory
org.apache.dubbo.metadata.annotation.processing.builder.TypeBuilder
org.apache.dubbo.metadata.annotation.processing.rest.AnnotatedMethodParameterProcessor
org.apache.dubbo.metadata.annotation.processing.rest.ServiceRestMetadataResolver
org.apache.dubbo.metadata.definition.builder.TypeBuilder
org.apache.dubbo.metadata.rest.AnnotatedMethodParameterProcessor
org.apache.dubbo.metadata.rest.ServiceRestMetadataReader
org.apache.dubbo.rpc.protocol.tri.compressor.Compressor
org.apache.dubbo.rpc.protocol.tri.compressor.DeCompressor
org.apache.dubbo.rpc.protocol.tri.rest.argument.ArgumentConverter
org.apache.dubbo.rpc.protocol.tri.rest.argument.ArgumentResolver
org.apache.dubbo.rpc.protocol.tri.rest.filter.RestExtension
org.apache.dubbo.rpc.protocol.tri.rest.filter.RestExtensionAdapter
org.apache.dubbo.rpc.protocol.tri.rest.mapping.RequestMappingResolver
org.apache.dubbo.rpc.protocol.tri.route.RequestHandlerMapping
org.apache.dubbo.rpc.protocol.rest.annotation.param.parse.provider.BaseProviderParamParser
org.apache.dubbo.metadata.rest.ServiceRestMetadataResolver
org.apache.dubbo.rpc.protocol.rest.filter.RestRequestFilter
org.apache.dubbo.rpc.protocol.rest.filter.RestResponseFilter
org.apache.dubbo.metadata.rest.NoAnnotatedParameterRequestTagProcessor
org.apache.dubbo.rpc.protocol.rest.message.HttpMessageCodec
org.apache.dubbo.rpc.protocol.rest.annotation.consumer.HttpConnectionPreBuildIntercept
org.apache.dubbo.rpc.protocol.rest.annotation.param.parse.consumer.BaseConsumerParamParser
org.apache.dubbo.remoting.http.factory.RestClientFactory
org.apache.dubbo.rpc.protocol.rest.filter.RestResponseInterceptor
org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter

框架内部实现

SPI 扩展定义功能说明示例实现激活条件
org.apache.dubbo.common.url.component.param.DynamicParamSource可通过扩展自定义动态参数列表,与 Dubbo3 中关于 URL 存储的优化相关。org.apache.dubbo.common.url.component.param.DefaultDynamicParamSource
org.apache.dubbo.common.compiler.Compiler用于设置 Dubbo IoC 容器的自适应扩展实现依赖的字节码工具。默认使用 javassist,可设置使用 jdk 或 bytebuddy 等实现。org.apache.dubbo.common.compiler.support.JavassistCompiler
org.apache.dubbo.common.serialize.MultipleSerialization
org.apache.dubbo.common.convert.Converter实现原类型到目标类型的转换,多限于框架内部集成使用org.apache.dubbo.common.convert.StringToFloatConverter
org.apache.dubbo.common.config.OrderedPropertiesProvider通过扩展可以为框架提供更多的 properties 来源,多限于框架内部集成使用
org.apache.dubbo.common.convert.multiple.MultiValueConverter实现原类型到目标类型的转换,多限于框架内部集成使用org.apache.dubbo.common.convert.multiple.StringToArrayConverter
org.apache.dubbo.common.store.DataStore
org.apache.dubbo.common.threadpool.manager.ExecutorRepository
org.apache.dubbo.spring.security.jackson.ObjectMapperCodecCustomer
org.apache.dubbo.validation.Validation
org.apache.dubbo.rpc.PathResolver
org.apache.dubbo.rpc.model.PackableMethodFactory
org.apache.dubbo.rpc.model.ApplicationInitListener
org.apache.dubbo.rpc.model.BuiltinServiceDetector
org.apache.dubbo.rpc.model.ScopeModelInitializer
org.apache.dubbo.aot.api.ReflectionTypeDescriberRegistrar
org.apache.dubbo.aot.api.ProxyDescriberRegistrar
org.apache.dubbo.common.json.JsonUtil
org.apache.dubbo.rpc.protocol.injvm.ParamDeepCopyUtil
org.apache.dubbo.aot.api.ResourceDescriberRegistrar
org.apache.dubbo.common.context.ApplicationExt
org.apache.dubbo.common.context.ModuleExt
org.apache.dubbo.metrics.service.MetricsService用于对外发布/透出 Metrics 指标的内部服务定义,以标准 Dubbo 服务形式发布。org.apache.dubbo.metrics.service.DefaultMetricsService
org.apache.dubbo.metrics.service.MetricsServiceExporter
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder
org.apache.dubbo.rpc.cluster.filter.InvocationInterceptorBuilder
org.apache.dubbo.rpc.cluster.Merger目前用于多 group 调用场景,对请求结果进行合并
org.apache.dubbo.rpc.cluster.governance.GovernanceRuleRepository
org.apache.dubbo.qos.permission.PermissionChecker用于检查扩展QoS执行权限检查逻辑,配合每个 QoS 命令配置的 @CMD 权限注解,结合上下文进行检查。org.apache.dubbo.qos.permission.DefaultAnonymousAccessPermissionChecker默认只支持 qosPermissionChecker
org.apache.dubbo.common.status.reporter.FrameworkStatusReporter用于上报 Dubbo 框架内部运行状态的扩展点,目前框架在服务发现模型自动迁移等位置做了统计埋点,所有迁移动作都会通过此扩展实现上报出去。未来可考虑用 metrics 标准埋点取代。无需配置,自动激活
org.apache.dubbo.registry.client.metadata.MetadataServiceURLBuilder用于应用级服务发现。在收到应用级地址 URL 推送后,生成 MetadataService URL 时的定制逻辑(仅对点对点应用级地址发现有效)org.apache.dubbo.registry.client.metadata.StandardMetadataServiceURLBuilder
org.apache.dubbo.metadata.ServiceNameMapping用于应用级服务发现org.apache.dubbo.registry.client.metadata.MetadataServiceNameMapping
org.apache.dubbo.common.extension.ExtensionFactory
最后修改 March 19, 2024: update doc (#2941) (ebc331d21fa)