张贴在 2022

  • 16-模块发布器发布服务全过程

    Tuesday, August 16, 2022 在 Dubbo3 [v3.0.8] 源码解析

    16-模块发布器发布服务全过程 16.1 简介 Dubbo做为服务治理框架,比较核心的就是服务相关的概念,这里我先贴个找到的关于Dubbo工作原理的架构图: 如果按完整服务启动与订阅的顺序我们可以归结为以下6点: 导出服务(提供者) 服务提供方通过指定端口对外暴露服务 注册服务(提供者) 提供方向注册中心注册自己的信息 (服务发现)-订阅服务(消费者) 服务调用方通过注册中心订阅自己感兴趣的服务 (服务发现)-服务推送(消费者) 注册中心向调用方推送地址列表 调用服务(消费者调用提供者) 调用方 …

    更多

  • 15-Dubbo的三大中心之元数据中心源码解析

    Monday, August 15, 2022 在 Dubbo3 [v3.0.8] 源码解析

    15-Dubbo的三大中心之元数据中心源码解析 15.1 简介 关于元数据中心的概念对于大部分用户来说是比较陌生的,配置中心的话我们还好理解,对于元数据中心是什么,我们来看下我从官网拷贝过来的一段文字: 元数据中心在2.7.x版本开始支持,随着应用级别的服务注册和服务发现在Dubbo中落地,元数据中心也变的越来越重要。在以下几种情况下会需要部署元数据中心: 对于一个原先采用老版本Dubbo搭建的应用服务,在迁移到Dubbo 3时,Dubbo 3 会需要一个元数据中心来维护RPC服务与应用的映射关 …

    更多

  • 14-Dubbo配置加载全解析

    Sunday, August 14, 2022 在 Dubbo3 [v3.0.8] 源码解析

    14-Dubbo配置加载全解析 14.1 回到启动器的初始化过程 在应用程序启动的时候会调用发布器的启动方法 ,然后调用初始化方法,在发布器DefaultApplicationDeployer中的初始化方法initialize() 如下: @Override public void initialize() { if (initialized) { return; } // Ensure that the initialization is completed when concurrent …

    更多

  • 13-Dubbo的三大中心之配置中心

    Saturday, August 13, 2022 在 Dubbo3 [v3.0.8] 源码解析

    13-Dubbo的三大中心之配置中心 13.1 配置中心简介 百度了一段不错的文字来介绍配置中心,我看了下肯定比我写的好多了,那我就直接拷贝过来一起看: 对于传统的单体应用而言,常使用配置文件来管理所有配置,比如SpringBoot的application.yml文件,但是在微服务架构中全部手动修改的话很麻烦而且不易维护。微服务的配置管理一般有以下需求: 集中配置管理,一个微服务架构中可能有成百上千个微服务,所以集中配置管理是很重要的。 不同环境不同配置,比如数据源配置在不同环境(开发,生产,测 …

    更多

  • 12 全局视野来看Dubbo3的服务启动生命周期

    Friday, August 12, 2022 在 Dubbo3 [v3.0.8] 源码解析

    12 全局视野来看Dubbo3的服务启动生命周期 12.1 启动方法简介 在说启动方法之前先把视野拉回第一章《1-从一个服务提供者的Demo说起》我们的Demo代码,下面只贴一下核心代码: public class Application { public static void main(String[] args) throws Exception { startWithBootstrap(); } private static void startWithBootstrap() { //前 …

    更多

  • 11-Dubbo启动器DubboBootstrap添加协议配置信息ProtocolConfig

    Thursday, August 11, 2022 在 Dubbo3 [v3.0.8] 源码解析

    11-Dubbo启动器DubboBootstrap添加协议配置信息ProtocolConfig 11.1 简介 先贴个代码用来参考: DubboBootstrap bootstrap = DubboBootstrap.getInstance(); bootstrap.application(new ApplicationConfig("dubbo-demo-api-provider")) .registry(new …

    更多

  • 10-Dubbo启动器DubboBootstrap添加注册中心配置信息RegistryConfig

    Wednesday, August 10, 2022 在 Dubbo3 [v3.0.8] 源码解析

    10-Dubbo启动器DubboBootstrap添加注册中心配置信息RegistryConfig 10.1 简介 先贴个代码用来参考: DubboBootstrap bootstrap = DubboBootstrap.getInstance(); bootstrap.application(new ApplicationConfig("dubbo-demo-api-provider")) .registry(new …

    更多

  • 9-Dubbo启动器DubboBootstrap添加应用程序的配置信息ApplicationConfig

    Tuesday, August 09, 2022 在 Dubbo3 [v3.0.8] 源码解析

    9-Dubbo启动器DubboBootstrap添加应用程序的配置信息ApplicationConfig 9.1 简介 先贴个代码用来参考: DubboBootstrap bootstrap = DubboBootstrap.getInstance(); bootstrap.application(new ApplicationConfig("dubbo-demo-api-provider")) .registry(new …

    更多

  • 8-Dubbo启动器DubboBootstrap借助双重校验锁的单例模式进行对象的初始化

    Monday, August 08, 2022 在 Dubbo3 [v3.0.8] 源码解析

    8-Dubbo启动器DubboBootstrap借助双重校验锁的单例模式进行对象的初始化 8.1 启动器简介 在说启动器之前先把视野拉回第一章《1-从一个服务提供者的Demo说起》我们的Demo代码,下面只贴一下核心代码: public class Application { public static void main(String[] args) throws Exception { startWithBootstrap(); } private static void …

    更多

  • 7-Dubbo的SPI扩展机制之自动激活扩展Activate源码解析

    Sunday, August 07, 2022 在 Dubbo3 [v3.0.8] 源码解析

    7-Dubbo的SPI扩展机制之自动激活扩展Activate源码解析 7.1 Activate扩展的说明 此注解对于使用给定条件自动激活某些扩展非常有用,例如:@Activate可用于在有多个实现时加载某些筛选器扩展。 group() 指定组条件。框架SPI定义了有效的组值。 value() 指定URL条件中的参数键。 SPI提供程序可以调用ExtensionLoader。getActivateExtension(URL、String、String)方法以查找具有给定条件的所有已激活扩展。 比如 …

    更多