dubbo如何通过何种机制实现服务调用的可扩展性?

2026-05-25 06:310阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2729个文字,预计阅读时间需要11分钟。

dubbo如何通过何种机制实现服务调用的可扩展性?

Dubbo如何实现可扩展的,扩展点描述:

Dubbo通过从JDK标准的SPI扩展点发现机制进行增强,从而实现可扩展性。Dubbo改进了JDK标准的SPI,解决了以下问题:

JDK标准的SPI会一劳永逸。

dubbo如何实现可扩展的,援引官网描述:

Dubbo 的扩展点加载从 JDK 标准的 SPI (Service Provider Interface) 扩展点发现机制加强而来。

Dubbo 改进了 JDK 标准的 SPI 的以下问题:

  • JDK 标准的 SPI 会一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源。
  • 如果扩展点加载失败,连扩展点的名称都拿不到了。比如:JDK 标准的 ScriptEngine,通过getName()获取脚本类型的名称,但如果 RubyScriptEngine 因为所依赖的 jruby.jar 不存在,导致 RubyScriptEngine 类加载失败,这个失败原因被吃掉了,和 ruby 对应不起来,当用户执行 ruby 脚本时,会报不支持 ruby,而不是真正失败的原因。
  • 增加了对扩展点 IoC 和 AOP 的支持,一个扩展点可以直接 setter 注入其它扩展点。
阅读全文
标签:dubbo

本文共计2729个文字,预计阅读时间需要11分钟。

dubbo如何通过何种机制实现服务调用的可扩展性?

Dubbo如何实现可扩展的,扩展点描述:

Dubbo通过从JDK标准的SPI扩展点发现机制进行增强,从而实现可扩展性。Dubbo改进了JDK标准的SPI,解决了以下问题:

JDK标准的SPI会一劳永逸。

dubbo如何实现可扩展的,援引官网描述:

Dubbo 的扩展点加载从 JDK 标准的 SPI (Service Provider Interface) 扩展点发现机制加强而来。

Dubbo 改进了 JDK 标准的 SPI 的以下问题:

  • JDK 标准的 SPI 会一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源。
  • 如果扩展点加载失败,连扩展点的名称都拿不到了。比如:JDK 标准的 ScriptEngine,通过getName()获取脚本类型的名称,但如果 RubyScriptEngine 因为所依赖的 jruby.jar 不存在,导致 RubyScriptEngine 类加载失败,这个失败原因被吃掉了,和 ruby 对应不起来,当用户执行 ruby 脚本时,会报不支持 ruby,而不是真正失败的原因。
  • 增加了对扩展点 IoC 和 AOP 的支持,一个扩展点可以直接 setter 注入其它扩展点。
阅读全文
标签:dubbo