• 2024-07-08Dubbo 3.x 源码解析 - Dubbo服务的发布与引用的入口
    在Dubbo3.x中,服务的发布与引用入口点相比之前的版本有所变化,特别是引入了新的监听器机制和更加模块化的处理方式。以下是关于服务发布与引用入口的关键点解析:服务发布入口入口点变化:在Dubbo3.x中,基于Spring的Dubbo启动流程不再是通过DubboBootstrap类引导完成,而是依赖
  • 2024-07-06Dubbo 2.7 源码解析 - 之 远程调用
    Dubbo2.7中的远程调用是其核心功能之一,涉及从客户端发起请求到服务端处理并返回结果的整个过程。这个过程高度抽象且灵活,支持多种协议、序列化方式和负载均衡策略。以下是远程调用的关键流程和相关源码解析:远程调用流程概览构建请求:消费者通过代理对象(由ProxyFactory创
  • 2024-07-01Dubbo 如何自定义协议为业务通信带来扩展
    Solomon_肖哥弹架构跟大家“弹弹”Dubbo自定义协议扩展欢迎点赞,收藏,关注。关注本人的公众号Solomon肖哥弹架构获取更多精彩内容Dubbo自定义协议扩展1、扩展说明RPC协议扩展,封装远程调用细节。契约:当用户调用refer()所返回的Invoker对象的invoke()方法
  • 2024-06-09Dubbo 3.x源码(21)—Dubbo服务引用源码(4)
    基于Dubbo3.1,详细介绍了Dubbo服务的发布与引用的源码。此前我们学习了createInvokerForRemote方法中的Wrapper有哪些以及作用,接下来我们将会的学习真正的本地、应用级别、接口级别的Protocol的引入逻辑,以及创建Proxy服务接口代理对象的逻辑。Dubbo3.x服务引用源码:Dub
  • 2024-05-30自己实现dubbo参数校验(类似RestFul 参数校验)
    1.场景:因为工作中经常需要做参数校验,在springboot项目中使用@Valid+@NotNull、@NotBlank…注解开发API接口非常丝滑,相反在开发RPC接口时却还是需要编写大量的参数判断,严重影响主业务流程的开发(公司目前用的是Dubbo2.7.2)且代码整洁度、风格都受到了挑战。基于以上原因萌生了写一
  • 2024-05-01.Net 8.0 下的新RPC,IceRPC之试试的新玩法"打洞"
    作者引言很高兴啊,我们来到了IceRPC之试试的新玩法"打洞",让防火墙哭去吧试试RPCs的新玩法"打洞"比较典型的玩法:RPC数据流从客户端流向服务端,现在来尝试用IceRPC来玩一个新的花样"打洞"。概述对于IceRPC,客户端是发起连接的实体,而服务器是接受连接的实体。建立连接后,
  • 2024-03-20设计模式(行为型设计模式——命令模式)
    设计模式(行为型设计模式——命令模式)命令模式基本定义将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。模式结构Command:抽象命令类ConcreteCommand:具体命
  • 2024-01-29Dubbo 架构演进:从 RMI 到 Dubbo
    目录Dubbo架构演进:从RMI到Dubbo1.自定义RPC2.RMI架构2.1整体架构2.2RPC调用3.Dubbo架构3.1整体架构3.2RPC调用3.3服务治理4.总结时刻推荐阅读 谈谈你对Dubbo的认知?对于这个问题,你是怎么回答的呢?我们知道Dubbo是从RPC起家,
  • 2023-12-23短视频app开发,集群容错策略的代码分析
    短视频app开发,集群容错策略的代码分析1FailoverFailover故障转移策略作为默认策略,当短视频app开发中的消费发生异常时通过负载均衡策略再选择一个生产者节点进行调用,直到达到重试次数。即使业务代码没有显示重试,也有可能多次执行消费逻辑从而造成重复数据:publicclass
  • 2023-12-01dubbo中接口cache使用及原理
    服务提供者类增加注解@DubboService(cache="true")指定服务调用的缓存实现,包括:lru,threadlocal,jcache。 提供者@DubboService(token="true",cache="true")publicclassCacheServiceImplimplementsCacheService{privatefinalAtomicIntegeri=
  • 2023-10-24杜撰23种设计模式--命令模式
     Command:用来生命执行操作的接口ConcreteCommand类:将一个接收者对象绑定于一个动作,调用接收者相应操作,以实现ExcuteInvoker:执行类,要求该命令执行这个请求。Receiver:知道如何实施与执行一个与请求相关的操作,任何类都可能作为一个接收者。 命令类, receiverconcreteCom
  • 2023-09-27SpringBoot | Dubbo之Filter使用示例
    欢迎参观我的博客,一个Vue与SpringBoot结合的产物:https://poetize.cn博客:https://gitee.com/littledokey/poetize-vue2.git聊天室:https://gitee.com/littledokey/poetize-im-vue3.git后端:https://gitee.com/littledokey/poetize.git七牛云登录/注册地址(文件服务器,CDN):https:/
  • 2023-09-13Spring HTTP Invoker
    参考:https://blog.csdn.net/asdluoliu/article/details/112847699概念SpringHTTPInvoker一种JAVA远程方法调用框架实现,原理与JDK的RMI基本一致,所以我们先跟其它JAVA远程方法调用实现做下简单比较。RMI:使用JRMP协议(基于TCP/IP),不允许穿透防火墙,使用JAVA序列化方式,使用于任何
  • 2023-09-03dubbo原理
    一、dubbo简单原理主要包括五个节点:Provider、Consumer、Container、Register、MonitorProvider:服务提供者Consumer:服务订阅者Container:服务运行的容器Register:注册中心Monitor:监控中心,统计服务调用次数和调动时间dubbo工作过程:服务容器负责启动,加载,运行服务提供者。服务提供者在
  • 2023-04-23Java使用maven-invoker插件进行maven相关操作
    官方文档地址:https://maven.apache.org/shared/maven-invoker/index.htmlApacheMavenInvoker在许多情况下,工具(包括Maven本身)可能希望在干净的环境中启动Maven构建。为什么呢?也许您希望避免Maven插件产生的副作用污染当前系统环境。也许您想从与当前${user.dir}不同的工作目
  • 2023-04-12精简jboss
    jboss4.2精简的目录为:deploy/工程.warhttp-invoker.sarjboss-bean.deployerjboss-web.deployerjboss-local-jdbc.raroracle-ds.xmljbossjca-service.xml如果要在netbeans中使用,还要加上jmx-console.warjmx-invoker-service.xml
  • 2023-03-21Dubbo——集群(Cluster)容错原理
    摘要集群中的单个节点有一定概率出现一些问题,例如,磁盘损坏、系统崩溃等,导致节点无法对外提供服务,因此在分布式RPC框架中,必须要重视这种情况。为了避免单点故障,我们的Prov
  • 2023-03-20Spring Http Invoker使用简介
    [color=red]SpringHTTPinvoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用(意味着可以通过防火墙),并使用java的序列化机制在网络间传递对象。这需要在
  • 2023-02-06Dubbo-RPC核心接口介绍
    前言Dubbo源码阅读分享系列文章,欢迎大家关注点赞SPI实现部分Dubbo-SPI机制Dubbo-Adaptive实现原理Dubbo-Activate实现原理DubboSPI-Wrapper注册中心Dubbo-聊聊注册
  • 2023-01-25Dubbo源码解析-高可用集群
    dubbo源码解析-高可用集群服务集群的概述概述为了避免单点故障,现在的应用通常至少会部署在两台服务器上,这样就组成了集群。集群就是单机的多实例,在多个服务器上部署多个服务
  • 2023-01-14Dubbo架构设计详解
    摘要:这篇文章,详细的介绍了Dubbo的架构设计。Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松
  • 2022-12-21Dubbo架构设计与源码解析(二) 服务注册
    一、Dubbo简介Dubbo是一款典型的高扩展、高性能、高可用的RPC微服务框架,用于解决微服务架构下的服务治理与通信问题。其核心模块包含【RPC通信】和【服务治理】,其中
  • 2022-12-17一文了解 Dubbo 的代码架构
    整体设计图例说明:图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。图中从下至上分为十层,各层均
  • 2022-12-17一文了解 Dubbo 的代码架构
    整体设计图例说明:图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。图中从下至上分为十层,各层均
  • 2022-12-17一文了解 Dubbo 的代码架构
    整体设计图例说明:图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。图中从下至上分为十层,各层均