2024年3月6日
Dubbo Remote Transport 是 Dubbo 远程通信的基础组件,它提供了基于各种传输协议的通信能力,如 TCP、HTTP 等。Dubbo Remote Transport 的主要作用是负责建立和维护客户端和服务端之间的连接,并进行数据的发送和接收。 Dubbo Remote Transport 的核心接口是 Transporter,它定义了传输协议需要实现的方法,包括创建服务器、连接客户端和……
阅读全文
2024年3月6日
Exchange组件 Dubbo Remote Exchange 是一个基于 Dubbo 框架的远程通信组件,它提供了一系列的远程通信协议和序列化协议,用于实现微服务之间的通信和数据交换。 Dubbo Remote Exchange 支持多种通信协议,包括 Dubbo 协议、HTTP 协议、WebSocket 协议等,用户可以根据自己的需求选择不同的协议进行通信。同时,Dubbo Remote Exchange 还……
阅读全文
2024年3月6日
dubbo-remoting 模块整体结构设计 服务治理框架 大致可分为 “服务通信” 和 “服务管理” 两部分,前面我们分析了有关注册中心的源码,也就是服务管理,接下来要分析的就是跟服务通信有关的源码,也就是远程通讯模块。该模块中提供了多种客户端和服务端通信的功能,而在对 NIO 框架选型上,dubbo 交由用户选择,它集成了……
阅读全文
2024年3月6日
Buffer 序列化和反序列化 Dubbo 是一个高性能、轻量级的开源 Java RPC 框架,它提供了许多组件来帮助开发者实现分布式服务调用。其中,Dubbo 的远程通信模块使用了 Netty 作为网络通信框架,而 Netty 中的 Buffer 组件则是 Dubbo 远程通信中非常重要的一个部分。 在 Dubbo 中,Buffer 组件主要用于数据的序列化和反序列化。当客户端发送请……
阅读全文
2024年3月6日
Dubbo 的注册中心虽然提供了多种实现,但生产上的事实标准基本上都是 基于 Zookeeper 实现的。这种注册中心的实现方法也是 Dubbo 最为推荐的。为了易于理解 Zookeeper 在 Dubbo 中的应用,我们先简单看一下 zookeeper。 由于 Dubbo 是一个分布式 RPC 开源框架,各服务之间单独部署,往往会出现资源之间数据不一致的问题,比如:某一个服务……
阅读全文
2024年3月6日
注册中心在 Dubbo 中的作用 服务治理框架可以大致分为 服务通信 和 服务管理 两部分,服务管理可以分为服务注册、服务订阅以及服务发现,服务提供者 Provider 会往注册中心注册服务,而消费者 Consumer 会从注册中心中订阅自己关注的服务,并在关注的服务发生变更时 得到注册中心的通知。Provider、Consumer 以及 Registry……
阅读全文
2024年3月6日
Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它提供了三种集群模式:失败转移、失败重试和负载均衡,以及多种容错策略:失败重试、失败快速失败、降级和熔断等。本文将详细介绍 Dubbo 集群容错的重点和方案。 重点: 集群模式:Dubbo 提供了三种集群模式,分别是失败转移、失败重试和负载均衡。其中,失败转移……
阅读全文
2024年3月6日
Dubbo 负载均衡简介 负载均衡,无论在常用的中间件 及 框架中,还是现实生活中,都有所体现。比如,一个团队干活,老大肯定要尽可能把任务均匀合理地分下去,让整个团队能高速运转,能力强的多分点,能力弱的少分点,绝对不能去逮着一个人 让他累到死,让其它人闲着。这样的均匀分配任务及压力的思想 放在开发领……
阅读全文
2024年3月6日
Dubbo Mock 和服务降级是两个不同的概念,但都是用来处理分布式系统中服务调用异常的手段。 Dubbo Mock:Mock 是一种模拟服务的实现方式,当某个服务出现问题或者网络延迟等情况时,消费方可以通过 Mock 来模拟提供方的服务,返回一个默认的或者自定义的结果,以保证消费方的正常运行。Dubbo 中提供了两种 Mock……
阅读全文
2024年3月6日
集群模块简介 集群,是指同一个服务 被部署在了多个服务器上,每个服务器的任务都相同,能够以较高的性价比,提升系统的 性能、可靠性、灵活性,但同时也要面对 集群中会出现的 负载均衡、容错等问题。dubbo 的集群模块,主要涉及以下几部分内容。 负载均衡策略:dubbo 支持的所有负载均衡策略算法;……
阅读全文