<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Dubbo on 知识铺的博客</title>
    <link>https://index.zshipu.com/geek/tags/Dubbo/</link>
    <description>Recent content in Dubbo on 知识铺的博客</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Wed, 06 Mar 2024 10:48:00 +0000</lastBuildDate>
    <atom:link href="https://index.zshipu.com/geek/tags/Dubbo/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>基于Netty实现远程通信</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/%E5%9F%BA%E4%BA%8ENetty%E5%AE%9E%E7%8E%B0%E8%BF%9C%E7%A8%8B%E9%80%9A%E4%BF%A1/</link>
      <pubDate>Wed, 06 Mar 2024 10:48:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/%E5%9F%BA%E4%BA%8ENetty%E5%AE%9E%E7%8E%B0%E8%BF%9C%E7%A8%8B%E9%80%9A%E4%BF%A1/</guid>
      <description>Dubbo Remote 支持多种传输协议，其中之一就是基于 Netty 的远程通信。在 Dubbo Remote 中，基于 Netty 的远程通信是通过 NettyServer 和 NettyClient 两个实现类来完成的。 以下是 Dubbo Remote 中基于 Netty 的远程通信的工作原理： 服务提供方在启动时创建 NettyServer 对象，并绑定到指定的端口上。 服务提供方在 NettyServer 上注册服务处理器，用于处理客户端的请求。 服务消费方在调用服务时创</description>
    </item>
    <item>
      <title>基于HTTP实现远程通信</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/%E5%9F%BA%E4%BA%8EHTTP%E5%AE%9E%E7%8E%B0%E8%BF%9C%E7%A8%8B%E9%80%9A%E4%BF%A1/</link>
      <pubDate>Wed, 06 Mar 2024 10:47:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/%E5%9F%BA%E4%BA%8EHTTP%E5%AE%9E%E7%8E%B0%E8%BF%9C%E7%A8%8B%E9%80%9A%E4%BF%A1/</guid>
      <description>Dubbo Remote 支持多种传输协议，其中之一就是基于 HTTP 的远程通信。在 Dubbo Remote 中，基于 HTTP 的远程通信是通过 HttpServer 和 HttpClient 两个实现类来完成的。 以下是 Dubbo Remote 中基于 HTTP 的远程通信的工作原理： 服务提供方在启动时创建 HttpServer 对象，并绑定到指定的端口上。 服务提供方在 HttpServer 上注册服务处理器，用于处理客户端的请求。 服务消费方在调用服务时创</description>
    </item>
    <item>
      <title>Transport组件</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/Transport%E7%BB%84%E4%BB%B6/</link>
      <pubDate>Wed, 06 Mar 2024 10:46:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/Transport%E7%BB%84%E4%BB%B6/</guid>
      <description>Dubbo Remote Transport 是 Dubbo 远程通信的基础组件，它提供了基于各种传输协议的通信能力，如 TCP、HTTP 等。Dubbo Remote Transport 的主要作用是负责建立和维护客户端和服务端之间的连接，并进行数据的发送和接收。 Dubbo Remote Transport 的核心接口是 Transporter，它定义了传输协议需要实现的方法，包括创建服务器、连接客户端和</description>
    </item>
    <item>
      <title>Exchange组件</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/Exchange%E7%BB%84%E4%BB%B6/</link>
      <pubDate>Wed, 06 Mar 2024 10:45:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/Exchange%E7%BB%84%E4%BB%B6/</guid>
      <description>Exchange组件 Dubbo Remote Exchange 是一个基于 Dubbo 框架的远程通信组件，它提供了一系列的远程通信协议和序列化协议，用于实现微服务之间的通信和数据交换。 Dubbo Remote Exchange 支持多种通信协议，包括 Dubbo 协议、HTTP 协议、WebSocket 协议等，用户可以根据自己的需求选择不同的协议进行通信。同时，Dubbo Remote Exchange 还</description>
    </item>
    <item>
      <title>Dubbo远程通信模块简析</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/Dubbo%E8%BF%9C%E7%A8%8B%E9%80%9A%E4%BF%A1%E6%A8%A1%E5%9D%97%E7%AE%80%E6%9E%90/</link>
      <pubDate>Wed, 06 Mar 2024 10:44:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/Dubbo%E8%BF%9C%E7%A8%8B%E9%80%9A%E4%BF%A1%E6%A8%A1%E5%9D%97%E7%AE%80%E6%9E%90/</guid>
      <description>dubbo-remoting 模块整体结构设计 服务治理框架 大致可分为 “服务通信” 和 “服务管理” 两部分，前面我们分析了有关注册中心的源码，也就是服务管理，接下来要分析的就是跟服务通信有关的源码，也就是远程通讯模块。该模块中提供了多种客户端和服务端通信的功能，而在对 NIO 框架选型上，dubbo 交由用户选择，它集成了</description>
    </item>
    <item>
      <title>Buffer组件</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/Buffer%E7%BB%84%E4%BB%B6/</link>
      <pubDate>Wed, 06 Mar 2024 10:43:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/remote/Buffer%E7%BB%84%E4%BB%B6/</guid>
      <description>Buffer 序列化和反序列化 Dubbo 是一个高性能、轻量级的开源 Java RPC 框架，它提供了许多组件来帮助开发者实现分布式服务调用。其中，Dubbo 的远程通信模块使用了 Netty 作为网络通信框架，而 Netty 中的 Buffer 组件则是 Dubbo 远程通信中非常重要的一个部分。 在 Dubbo 中，Buffer 组件主要用于数据的序列化和反序列化。当客户端发送请</description>
    </item>
    <item>
      <title>注册中心的Zookeeper实现</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/registry/%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E7%9A%84Zookeeper%E5%AE%9E%E7%8E%B0/</link>
      <pubDate>Wed, 06 Mar 2024 10:42:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/registry/%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E7%9A%84Zookeeper%E5%AE%9E%E7%8E%B0/</guid>
      <description>Dubbo 的注册中心虽然提供了多种实现，但生产上的事实标准基本上都是 基于 Zookeeper 实现的。这种注册中心的实现方法也是 Dubbo 最为推荐的。为了易于理解 Zookeeper 在 Dubbo 中的应用，我们先简单看一下 zookeeper。 由于 Dubbo 是一个分布式 RPC 开源框架，各服务之间单独部署，往往会出现资源之间数据不一致的问题，比如：某一个服务</description>
    </item>
    <item>
      <title>Dubbo注册中心模块简析</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/registry/Dubbo%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E6%A8%A1%E5%9D%97%E7%AE%80%E6%9E%90/</link>
      <pubDate>Wed, 06 Mar 2024 10:41:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/registry/Dubbo%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E6%A8%A1%E5%9D%97%E7%AE%80%E6%9E%90/</guid>
      <description>注册中心在 Dubbo 中的作用 服务治理框架可以大致分为 服务通信 和 服务管理 两部分，服务管理可以分为服务注册、服务订阅以及服务发现，服务提供者 Provider 会往注册中心注册服务，而消费者 Consumer 会从注册中心中订阅自己关注的服务，并在关注的服务发生变更时 得到注册中心的通知。Provider、Consumer 以及 Registry</description>
    </item>
    <item>
      <title>集群容错</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/cluster/%E9%9B%86%E7%BE%A4%E5%AE%B9%E9%94%99/</link>
      <pubDate>Wed, 06 Mar 2024 10:40:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/cluster/%E9%9B%86%E7%BE%A4%E5%AE%B9%E9%94%99/</guid>
      <description>Dubbo 是一款高性能、轻量级的开源 Java RPC 框架，它提供了三种集群模式：失败转移、失败重试和负载均衡，以及多种容错策略：失败重试、失败快速失败、降级和熔断等。本文将详细介绍 Dubbo 集群容错的重点和方案。 重点： 集群模式：Dubbo 提供了三种集群模式，分别是失败转移、失败重试和负载均衡。其中，失败转移</description>
    </item>
    <item>
      <title>负载均衡</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/cluster/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/</link>
      <pubDate>Wed, 06 Mar 2024 10:39:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/cluster/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/</guid>
      <description>Dubbo 负载均衡简介 负载均衡，无论在常用的中间件 及 框架中，还是现实生活中，都有所体现。比如，一个团队干活，老大肯定要尽可能把任务均匀合理地分下去，让整个团队能高速运转，能力强的多分点，能力弱的少分点，绝对不能去逮着一个人 让他累到死，让其它人闲着。这样的均匀分配任务及压力的思想 放在开发领</description>
    </item>
    <item>
      <title>mock与服务降级</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/cluster/mock%E4%B8%8E%E6%9C%8D%E5%8A%A1%E9%99%8D%E7%BA%A7/</link>
      <pubDate>Wed, 06 Mar 2024 10:38:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/cluster/mock%E4%B8%8E%E6%9C%8D%E5%8A%A1%E9%99%8D%E7%BA%A7/</guid>
      <description>Dubbo Mock 和服务降级是两个不同的概念，但都是用来处理分布式系统中服务调用异常的手段。 Dubbo Mock：Mock 是一种模拟服务的实现方式，当某个服务出现问题或者网络延迟等情况时，消费方可以通过 Mock 来模拟提供方的服务，返回一个默认的或者自定义的结果，以保证消费方的正常运行。Dubbo 中提供了两种 Mock</description>
    </item>
    <item>
      <title>Dubbo集群模块简析</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/cluster/Dubbo%E9%9B%86%E7%BE%A4%E6%A8%A1%E5%9D%97%E7%AE%80%E6%9E%90/</link>
      <pubDate>Wed, 06 Mar 2024 10:37:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/cluster/Dubbo%E9%9B%86%E7%BE%A4%E6%A8%A1%E5%9D%97%E7%AE%80%E6%9E%90/</guid>
      <description>集群模块简介 集群，是指同一个服务 被部署在了多个服务器上，每个服务器的任务都相同，能够以较高的性价比，提升系统的 性能、可靠性、灵活性，但同时也要面对 集群中会出现的 负载均衡、容错等问题。dubbo 的集群模块，主要涉及以下几部分内容。 负载均衡策略：dubbo 支持的所有负载均衡策略算法；</description>
    </item>
    <item>
      <title>Dubbo整体架构</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/architectureDesign/Dubbo%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84/</link>
      <pubDate>Wed, 06 Mar 2024 10:36:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/architectureDesign/Dubbo%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84/</guid>
      <description>项目结构 首先从 GitHub 上 clone 下来 Dubbo 项目，我们根据其中各子项目的项目名，也能大概猜出来各个模块的作用。 dubbo-common 公共逻辑子项目，定义了各子项目中 通用的 组件 和 工具类，如：IO、日志、配置处理等。 dubbo-rpc 分布式协调服务框架的核心，该模块定义了 RPC 相关的组件，包括 服务发布、服务调用代理、远程调用结果、RPC 调用</description>
    </item>
    <item>
      <title>Dubbo与Java的SPI机制</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/SPI/Dubbo%E4%B8%8EJava%E7%9A%84SPI%E6%9C%BA%E5%88%B6/</link>
      <pubDate>Wed, 06 Mar 2024 10:35:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/SPI/Dubbo%E4%B8%8EJava%E7%9A%84SPI%E6%9C%BA%E5%88%B6/</guid>
      <description>JDK 的 SPI 思想 SPI，即 Service Provider Interface。在面向对象的设计里面，模块之间推荐基于接口编程，而不是对实现类进行硬编码，这样做也是为了模块设计的可插拔原则。 比较典型的应用，如 JDBC，Java 定义了一套 JDBC 的接口，但是 Java 本身并不提供对 JDBC 的实现类，而是开发者根据项目实际使用的数据库来选</description>
    </item>
    <item>
      <title>RPC模块简析</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/RPC/RPC%E6%A8%A1%E5%9D%97%E7%AE%80%E6%9E%90/</link>
      <pubDate>Wed, 06 Mar 2024 10:34:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/RPC/RPC%E6%A8%A1%E5%9D%97%E7%AE%80%E6%9E%90/</guid>
      <description>Dubbo RPC 框架是一个高性能、轻量级的 Java RPC 框架，它提供了一套完整的远程过程调用解决方案。Dubbo RPC 框架由多个模块组成，其中 RPC 模块是其核心模块之一，负责实现远程过程调用的核心功能。 以下是 Dubbo RPC 中 RPC 模块的相关内容： RPC 模块的组成 Dubbo RPC 中的 RPC 模块主要包含了以下几个组件： Protocol：协议组件，</description>
    </item>
    <item>
      <title>Proxy组件</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/RPC/Proxy%E7%BB%84%E4%BB%B6/</link>
      <pubDate>Wed, 06 Mar 2024 10:33:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/RPC/Proxy%E7%BB%84%E4%BB%B6/</guid>
      <description>Dubbo RPC 框架中的 Proxy 组件是其核心组件之一，它负责创建服务消费者的代理对象，并通过代理对象将请求发送给服务提供者。Proxy 组件使用了动态代理技术，通过 JDK 动态代理或 CGLIB 动态代理创建服务消费者的代理对象。 以下是 Dubbo RPC 中 Proxy 组件的相关内容： Proxy 接口 Proxy 接口是 Dubbo RPC 中的核心接口之一，它定义了 Dubbo RPC 中的代理对</description>
    </item>
    <item>
      <title>Protocol组件</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/RPC/Protocol%E7%BB%84%E4%BB%B6/</link>
      <pubDate>Wed, 06 Mar 2024 10:32:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/RPC/Protocol%E7%BB%84%E4%BB%B6/</guid>
      <description>Dubbo RPC 框架中的 Protocol 组件是其核心组件之一，它负责实现远程通信的协议栈。Protocol 组件包含了 Dubbo RPC 框架中的各种协议实现，如 Dubbo 协议、Hessian 协议、HTTP 协议等。 以下是 Dubbo RPC 中 Protocol 组件的相关内容： Protocol 接口 Protocol 接口是 Dubbo RPC 中的核心接口之一，它定义了 Dubbo RPC 中的协议栈应该具有的功能。Protoco</description>
    </item>
    <item>
      <title>Hessian协议</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/RPC/Hessian%E5%8D%8F%E8%AE%AE/</link>
      <pubDate>Wed, 06 Mar 2024 10:31:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/RPC/Hessian%E5%8D%8F%E8%AE%AE/</guid>
      <description>Dubbo RPC 框架支持多种序列化协议，其中 Hessian 协议是其默认的序列化协议之一。Hessian 协议是一种二进制序列化协议，它具有高性能和低延迟的特点，因此在 Dubbo 中被广泛使用。 以下是 Dubbo RPC 中 Hessian 协议的相关内容： Hessian 序列化协议 Hessian 协议是一种二进制序列化协议，它可以将 Java 对象序列化为二进制数据，并将二进制数据反序</description>
    </item>
    <item>
      <title>Dubbo协议</title>
      <link>https://index.zshipu.com/geek/post/code/docs/Dubbo/RPC/Dubbo%E5%8D%8F%E8%AE%AE/</link>
      <pubDate>Wed, 06 Mar 2024 10:30:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek/post/code/docs/Dubbo/RPC/Dubbo%E5%8D%8F%E8%AE%AE/</guid>
      <description>Dubbo协议 Dubbo 是一种高性能、轻量级的开源 Java RPC 框架，它提供了三大核心能力：面向接口的远程方法调用，智能容错和负载均衡，以及服务自动注册和发现。 Dubbo 使用协议是基于长连接和短连接的，支持多种序列化协议，如 Hessian2、Java、JSON 等。其中，Dubbo 默认使用的是 Hessian2 序列化协议，</description>
    </item>
  </channel>
</rss>
