
dubbo源码解析
文章平均质量分 52
z13730736890
专注游戏服务器开发
展开
-
4.3 dubbo provider启动之终极之战 netty启动详解
启动过程中的‘阻碍’讲完了,该进入正题了。这里启动选择的默认dubbo协议的netty4。从看源码的角度要剔除掉很多的干扰项,dubbo为了兼容,所以扩展了很多东西,其中有大部分可能是不会使用使用,在研究的dubbo的时候一定要选择重点逻辑研究,比如像一些配置怎么在这里,这个配置从哪里来,到哪里去,可以暂缓研究,也可以不去研究,到亲手操刀写的时候,再研究配置和数据传递为何要这样写不迟,这样能以...原创 2019-04-25 12:10:18 · 1265 阅读 · 1 评论 -
4.2 dubbo provider启动之dubbo filter 详解
provider启动之前之Filter扩展。filter的概念在很多框架框架都有涉及,实现的手法也是大同小异,链式调用,一环勾着一环,有点类似栈的思想,先进后出。dubbofilter原生的filter挺多,足够常规使用,自实现后面再讲。现在由于在说provider的启动,所以先讲源码,把启动流程捋顺。dubbofilter的初始化在于ProtocolFilterWrapper这个...原创 2019-04-24 18:55:45 · 3865 阅读 · 0 评论 -
4.1 dubbo provider启动之Wrapper包装类 详解
在进入发布者provider初始化过程前,先说明wrapper这个关键的包装类,在各类接口分发调用的时候起至关重要的作用。承接入口调用,分发到对应的包装类的方法里面。1.初始化接口的wrapper,所有Wrapper都由getWrapper(接口类)获得,命中缓存则获取对应wrapper,未命中则构建。String[] methods = Wrapper.getWrapper(in...原创 2019-04-22 18:27:56 · 1684 阅读 · 0 评论 -
3.1 dubbo SPI ServiceLoader
java ServiceLoader一个加载接口实现的加载器。针对接口的不同实现,全部加载进jvm。eg:公共接口=》animal 接口 实现类=》dog 实现类,cat 实现类。公共接口package com.test.ice;/** * * 动物类接口 * * @author zby * @time 2021/4/23 16:28 * **************************************** */public interface Animal原创 2021-04-25 11:40:41 · 154 阅读 · 0 评论 -
3 dubbo SPI
简介: 介绍完一堆API配置,终于开始核心部分了,dubbo各种插件的基础-->SPI。SPI 全称为 Service Provider Interface,是一种服务发现机制。dubbo中SPI使用较多,多采用可插拔组件形式,例如传输结构定义和序列化使用等,SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为...原创 2019-04-19 18:03:47 · 318 阅读 · 0 评论 -
2.5 RegistryConfig 注册中心配置
代码示例:RegistryConfig registry = new RegistryConfig();// <host:port> 注册中心服务器地址registry.setAddress("redis://*.*.*.*:6380");// 注册中心地址协议,支持dubbo, http, local三种协议,分别表示:dubbo地址、http地址、本地注册中心regi...原创 2019-04-19 16:58:28 · 4613 阅读 · 0 评论 -
2.4 ReferenceConfig 客户端调用配置
代码示例:ReferenceConfig<DemoService> reference = new ReferenceConfig<>();reference.setApplication(new ApplicationConfig("dubbo-demo-api-consumer"));// 注册中心reference.setRegistry(new Regi...原创 2019-04-19 16:57:20 · 4288 阅读 · 0 评论 -
2.3 ServiceConfig 服务配置
代码示例:ServiceConfig<DemoServiceImpl> service = new ServiceConfig<>();service.setApplication(application);// 使用指定的协议暴露服务service.setProtocol(protocol);// 注册中心,推荐alibaba最新的nacosservic...原创 2019-04-19 16:53:40 · 2060 阅读 · 0 评论 -
2.2 ApplicationConfig 应用配置
代码示例:// 应用配置信息ApplicationConfig application = new ApplicationConfig("dubbo-demo-api-provider");// 版本号application.setVersion("1.0.0");// 负责人application.setOwner("345000890@qq.com");// 组织名称app...原创 2019-04-19 16:49:48 · 2441 阅读 · 0 评论 -
2.1 ProtocolConfig dubbo协议配置
代码示例:// 服务提供者协议配置ProtocolConfig protocol = new ProtocolConfig();// 协议名称protocol.setName("dubbo");//启动dubbo server的端口protocol.setPort(20880);// 服务提供方最大可接受连接数 ,0=>不限制protocol.setAcce...原创 2019-04-19 16:42:00 · 2825 阅读 · 0 评论 -
1 dubbo总体框架设计
框架设计整体设计图例说明: 图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service 和 Config 层为 API,其它各层均为 SPI。 图中绿色小块的为扩展接口,蓝...转载 2019-04-19 16:17:38 · 221 阅读 · 0 评论