2024年3月6日
Dubbo 负载均衡简介 负载均衡,无论在常用的中间件 及 框架中,还是现实生活中,都有所体现。比如,一个团队干活,老大肯定要尽可能把任务均匀合理地分下去,让整个团队能高速运转,能力强的多分点,能力弱的少分点,绝对不能去逮着一个人 让他累到死,让其它人闲着。这样的均匀分配任务及压力的思想 放在开发领……
阅读全文
2024年3月6日
Dubbo Mock 和服务降级是两个不同的概念,但都是用来处理分布式系统中服务调用异常的手段。 Dubbo Mock:Mock 是一种模拟服务的实现方式,当某个服务出现问题或者网络延迟等情况时,消费方可以通过 Mock 来模拟提供方的服务,返回一个默认的或者自定义的结果,以保证消费方的正常运行。Dubbo 中提供了两种 Mock……
阅读全文
2024年3月6日
集群模块简介 集群,是指同一个服务 被部署在了多个服务器上,每个服务器的任务都相同,能够以较高的性价比,提升系统的 性能、可靠性、灵活性,但同时也要面对 集群中会出现的 负载均衡、容错等问题。dubbo 的集群模块,主要涉及以下几部分内容。 负载均衡策略:dubbo 支持的所有负载均衡策略算法;……
阅读全文
2024年3月6日
项目结构 首先从 GitHub 上 clone 下来 Dubbo 项目,我们根据其中各子项目的项目名,也能大概猜出来各个模块的作用。 dubbo-common 公共逻辑子项目,定义了各子项目中 通用的 组件 和 工具类,如:IO、日志、配置处理等。 dubbo-rpc 分布式协调服务框架的核心,该模块定义了 RPC 相关的组件,包括 服务发布、服务调用代理、远程调用结果、RPC 调用……
阅读全文
2024年3月6日
JDK 的 SPI 思想 SPI,即 Service Provider Interface。在面向对象的设计里面,模块之间推荐基于接口编程,而不是对实现类进行硬编码,这样做也是为了模块设计的可插拔原则。 比较典型的应用,如 JDBC,Java 定义了一套 JDBC 的接口,但是 Java 本身并不提供对 JDBC 的实现类,而是开发者根据项目实际使用的数据库来选……
阅读全文
2024年3月6日
Dubbo RPC 框架是一个高性能、轻量级的 Java RPC 框架,它提供了一套完整的远程过程调用解决方案。Dubbo RPC 框架由多个模块组成,其中 RPC 模块是其核心模块之一,负责实现远程过程调用的核心功能。 以下是 Dubbo RPC 中 RPC 模块的相关内容: RPC 模块的组成 Dubbo RPC 中的 RPC 模块主要包含了以下几个组件: Protocol:协议组件,……
阅读全文
2024年3月6日
Dubbo RPC 框架中的 Proxy 组件是其核心组件之一,它负责创建服务消费者的代理对象,并通过代理对象将请求发送给服务提供者。Proxy 组件使用了动态代理技术,通过 JDK 动态代理或 CGLIB 动态代理创建服务消费者的代理对象。 以下是 Dubbo RPC 中 Proxy 组件的相关内容: Proxy 接口 Proxy 接口是 Dubbo RPC 中的核心接口之一,它定义了 Dubbo RPC 中的代理对……
阅读全文
2024年3月6日
Dubbo RPC 框架中的 Protocol 组件是其核心组件之一,它负责实现远程通信的协议栈。Protocol 组件包含了 Dubbo RPC 框架中的各种协议实现,如 Dubbo 协议、Hessian 协议、HTTP 协议等。 以下是 Dubbo RPC 中 Protocol 组件的相关内容: Protocol 接口 Protocol 接口是 Dubbo RPC 中的核心接口之一,它定义了 Dubbo RPC 中的协议栈应该具有的功能。Protoco……
阅读全文
2024年3月6日
Dubbo RPC 框架支持多种序列化协议,其中 Hessian 协议是其默认的序列化协议之一。Hessian 协议是一种二进制序列化协议,它具有高性能和低延迟的特点,因此在 Dubbo 中被广泛使用。 以下是 Dubbo RPC 中 Hessian 协议的相关内容: Hessian 序列化协议 Hessian 协议是一种二进制序列化协议,它可以将 Java 对象序列化为二进制数据,并将二进制数据反序……
阅读全文
2024年3月6日
Dubbo协议 Dubbo 是一种高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 Dubbo 使用协议是基于长连接和短连接的,支持多种序列化协议,如 Hessian2、Java、JSON 等。其中,Dubbo 默认使用的是 Hessian2 序列化协议,……
阅读全文