Dubbo
Mergades
专注于应用架构设计。
展开
-
Dubbo 3.0更新点整理
文档地址: Dubbo 3.0 文档原创 2021-06-28 11:19:11 · 364 阅读 · 0 评论 -
ExtensionLoader详解
ExtensionLoader 注入的依赖扩展点是一个 Adaptive 实例,直到扩展点方法执行时才决定调用是哪一个扩展点实现。Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();Dubbo 改进了 JDK 标准的 SPI 的以下问题:JDK标准的SPI是一次性实例化所有的扩展点实现,比较消耗资源,而dubbo是在方法执行时才决定调用哪个扩展点JDK 如果扩展原创 2020-10-23 11:16:26 · 1520 阅读 · 0 评论 -
dubbo源码编译报错 找不到com.fasterxml.jackson.databind.ObjectMapper的类文件
文档http://dubbo.apache.org/en-us/docs/dev/build.htmlmvn clean install -Dmaven.test.skip源码编译报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.0:compile (default-compile) on project dubbo-rpc-jsonrpc: Compilation failure原创 2020-10-21 20:20:44 · 2943 阅读 · 0 评论 -
Dubbo ServiceBean详解
ServiceBean类图类继承图成员变量和方法服务暴露服务暴露流程图我们看几个核心的节点ServiceConfig#doExportprotected synchronized void doExport() 该方法为同步方法,在初始化时同步阻塞。方法开始时进行一些列的检查,包含对provider,module,application,ref。 if (ref instanceof GenericService) { interfaceCla原创 2020-05-30 17:03:32 · 2438 阅读 · 0 评论 -
Dubbo通信模型
Dubbo通信Dubbo consumer和provider通信通过TCP长连接的方式实现,并且通过单一长连接。优点长连接有效减少诸如http三次握手机制的性能耗损缺点不适合大量数据发送配置Dubbo 协议缺省每服务每提供者每消费者使用单一长连接,如果数据量较大,可以使用多个连接。<dubbo:service connections="1"/><dubb...原创 2020-01-21 15:56:25 · 402 阅读 · 0 评论 -
Dubbo 注册中心
RegistryService/** * RegistryService. (SPI, Prototype, ThreadSafe) * * @see com.alibaba.dubbo.registry.Registry * @see com.alibaba.dubbo.registry.RegistryFactory#getRegistry(URL) */public inte...原创 2019-07-30 20:40:36 · 212 阅读 · 0 评论 -
Dubbo ZK订阅流程
ZK订阅流程由RegistryProtocol开始,再由ZookeeperREgistry完成最后的订阅。RegistryProtocolRegistryProtocol 实现Protocol接口@SPI("dubbo")public interface Protocol { /** * 获取缺省端口,当用户没有配置端口时使用。 * * @return 缺省端原创 2017-12-27 11:30:17 · 2438 阅读 · 1 评论 -
Dubbo远程方法注册
开始远程方法暴漏开始的地方是在ServiceBean类,该类实现了ApplicationListener接口,在该接口中接收ontextRefreshEvent事件,通过此事件来开始暴漏对应的dubbo接口。public void onApplicationEvent(ApplicationEvent event) { if (ContextRefreshedEvent.class.原创 2017-12-22 17:22:06 · 987 阅读 · 0 评论 -
dubbo容器-客户端调用
1,在Dubbo使用中,客户端通过Dubbo容器来调用远程服务。在客户端调用中,通过如下代码引入远程Dubbo服务器:dubbo:reference id="itemManagement" interface="com.IItemManagemen" version="${items.dubbo.version}" check="false" async="true">dubbo:refe原创 2016-03-29 21:53:36 · 7709 阅读 · 1 评论 -
Dubbo容器--Provider
1,Dubbo服务提供者-Provider,提供RPC具体服务。一个典型的Dubbo提供者配置如下:dubbo:application name="sync-data-consumer-1"/> dubbo:registry protocol="zookeeper" address="zoo4.superboss.cc:30002,zoo5.superboss.cc:30002原创 2016-03-29 21:51:58 · 1459 阅读 · 0 评论 -
dubbo容器-注册中心
1,Dubbo服务分为注册中心,服务提供者,消费者三个模块,而三个模块的启动都是分开的。2,注册中心的 注册过程。通常,注册中心的配置基本如下,具体源码在dubbo-registrt-simple包下面。beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or原创 2016-03-29 21:51:26 · 3067 阅读 · 0 评论 -
Dubbo包结构分析以及对XML文件的解析
1,Dubbo源码包结构dubbo-common 公共逻辑模块,包括 Util 类和通用模型。dubbo-remoting 远程通讯模块,相当于 Dubbo 协议的实现,如果 RPC 用 RMI 协议则不需要使用此包。dubbo-rpc 远程调用模块,抽象各种协议,以及动态代理,只包含一对一的调用,不关心集群的管理。dubbo-cluster 集群模块,将多个服务提供方伪装原创 2016-03-29 21:50:32 · 3172 阅读 · 0 评论 -
Dubbo框架结构
1,Dubbo整体框架结构:节点角色说明:Provider:暴漏服务的服务提供方。Consumer:调用远程服务的消费者。Registry:服务返现与注册的服务方。Monitor:统计服务的调用次数和调用时间的监控。调用关系说明:-0,服务容器负责启动,加载,运行服务提供者。-1,服务提供者在启动时,向注册中心注册自己提供的服务。-2,服务消费者在启动时,向原创 2016-03-29 21:48:43 · 708 阅读 · 0 评论