广告
返回顶部
首页 > 资讯 > 精选 >Dubbo源码解析之SPI(一):扩展类的加载过程
  • 345
分享到

Dubbo源码解析之SPI(一):扩展类的加载过程

2023-06-05 03:06:53 345人浏览 八月长安
摘要

dubbo是一款开源的、高性能且轻量级的Java rpc框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现。Dubbo最早是阿里公司内部的RPC框架,于 2011 年开源,之后迅速成为国内该类开源

dubbo是一款开源的、高性能且轻量级的Java rpc框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现。

Dubbo最早是阿里公司内部的RPC框架,于 2011 年开源,之后迅速成为国内该类开源项目的佼佼者,2018年2月,通过投票正式成为 Apache基金会孵化项目。目前宜信公司内部也有不少项目在使用Dubbo。

本系列文章通过拆解Dubbo源码,帮助大家了解Dubbo,做到知其然,并且知其所以然。

一、jdk SPI

1.1 什么是SPI?

SPI(Service Provider Interface),即服务提供方接口,是JDK内置的一种服务提供机制。在写程序的时候,一般都推荐面向接口编程,这样做的好处是:降低了程序的耦合性,有利于程序的扩展。

SPI也秉承这种理念,提供了统一的服务接口,服务提供商可以各自提供自己的具体实现。大家都熟知的JDBC中用的就是基于这种机制来发现驱动提供商,不管是oracle也好,MySQL也罢,在编写代码时都一样,只不过引用的jar包不同而已。后来这种理念也被运用于各种架构之中,比如Dubbo、Eleasticsearch。

1.2 JDK SPI的小栗子

SPI 的实现方式是将接口实现类的全限定名配置在文件中,由服务加载器读取配置文件,加载实现类。 

了解了概念后,来看一个具体的例子。

1)定义一个接口

public interface Operation {        int operate(int num1, int num2);}

--结束END--

本文标题: Dubbo源码解析之SPI(一):扩展类的加载过程

本文链接: https://www.lsjlt.com/news/241122.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Dubbo源码解析之SPI(一):扩展类的加载过程
    Dubbo是一款开源的、高性能且轻量级的Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现。Dubbo最早是阿里公司内部的RPC框架,于 2011 年开源,之后迅速成为国内该类开源...
    99+
    2023-06-05
  • Tomcat的类加载机制流程及源码解析
    目录前言1、Tomcat 的类加载器结构图:2、Tomcat 的类加载流程说明:3、源码解析:4、为什么tomcat要实现自己的类加载机制:前言 在前面 Java虚拟机:对象创建过程...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作