张贴在 2022

  • Dubbo 3 之 Triple 流控反压原理解析

    Wednesday, December 28, 2022 在 源码分析

    Triple 是 Dubbo 3 提出的基于 HTTP2 的开放协议, 旨在解决 Dubbo 2 私有协议带来的互通性问题。 Triple 基于 HTTP/2 定制自己的流控,支持通过特定的异常通知客户端业务层服务端负载高情况, 保护了服务端被大流量击垮,提高系统高可用能力。 一、流控反压现状 客户端和服务器端在接收数据的时候有一个缓冲区来临时存储数据, 但是缓冲区的大小是有限制的,所以有可能会出现缓冲区溢出的情况, HTTP 通过流控保护数据溢出丢失风险。 1、HTTP/1 …

    更多

  • Triple 协议支持 Java 异常回传的设计与实现

    Monday, December 19, 2022 在 源码分析

    背景 在一些业务场景, 往往需要自定义异常来满足特定的业务, 主流用法是在catch里抛出异常, 例如: public void deal() { try{ //doSomething ... } catch(IGreeterException e) { ... throw e; } } 或者通过ExceptionBuilder,把相关的异常对象返回给consumer: provider.send(new ExceptionBuilders.IGreeterExceptionBuilder() …

    更多

  • Dubbo Java 3.2.0-beta.3 正式发布

    Sunday, December 18, 2022 在 社区动态

    Dubbo 3.2.0-beta.3 版本是目前 Dubbo 3 的最新特性版本,包括了如 Spring Boot 3、JDK 17、服务粒度的线程池隔离等新特性的支持,欢迎大家尝鲜使用。 Dubbo 3.2.0-beta.3 注:Dubbo 3.2.0-beta.3 的代码基础和 Dubbo 3.1.4 完全一致,因此在 Dubbo 3.1.4 中包括的所有修改内容,在 Dubbo 3.2.0-beta.3 中也同样存在,后续说明中对于重复的内容讲不再赘述。 新特性 支持使用 jackson …

    更多

  • Dubbo Java 3.1.4 正式发布

    Thursday, December 01, 2022 在 社区动态

    Dubbo 3.1.4 版本是目前 Dubbo 3 的最新稳定版本,我们建议所有的用户都升级到最新的稳定版本。 Dubbo 3.1.4 新特性 Dubbo QoS 支持指定白名单 IP 列表访问所有命令 Bugfix 修复在泛化调用时 Dubbo Metrics 采集方法名错误 修复使用 Zookeeper 作为元数据中心时,上报接口映射可能存在相互覆盖的问题 修复 timeout countdown 在 Triple 协议的支持 修复 timeout countdown 存在透传的问题 修复多 …

    更多

  • Dubbo 3.2.0-beta.2 正式发布

    Friday, November 18, 2022 在 社区动态

    Dubbo 3.2.0-beta.2 修改内容 切换到在用户线程序列化,提升协议性能 支持 Netty3 的端口复用 修复存在多个用户配置的 providedBy 时不生效的问题 支持 istio 的 first-party-jwt 能力 删除 fastjson 和 gson 的传递依赖 支持可选 appResponse 不透传的能力 切换到 Fastjson2 为默认序列化依赖 完善注册中心推送的日志 修复路由刷新时机早于服务目录刷新时机的问题 关闭地址推空保护 更新支持 GraalVM …

    更多

  • Apache Dubbo 多语言体系再添新员:首个 Rust 语言版本正式发布

    Sunday, October 23, 2022 在 Rust

    Dubbo Rust 定位为 Dubbo 多语言体系的重要实现,提供高性能、易用、可扩展的 RPC 框架,同时通过接入 Dubbo Mesh 体系提供丰富的服务治理能力。本文主要为大家介绍 Dubbo Rust 项目基本情况,通过一个示例快速体验 Rust 首个正式版本特性,并给出了 Dubbo Rust 社区的近期规划,适合于关注或正在采用 Rust 语言的开发者与企业用户阅读。 1 Dubbo Rust 简介 Dubbo 作为 Apache 基金会最活跃的明星项目之一,同时也是国内最受欢迎的 …

    更多

  • 聚焦稳定性,Dubbo Java 发版规划公布

    Saturday, October 22, 2022 在 社区动态

    Dubbo 简介 Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。 我应该如何选择版本? 对于这个问题,一直以来 Dubbo 都没有很好地 …

    更多

  • Proxyless Mesh在Dubbo中的实践

    Monday, September 05, 2022 在 功能演示

    背景 随着 Dubbo 3.1 的 release,Dubbo 在云原生的路上又迈出了重要的一步。在这个版本中添加了 Proxyless Mesh 的新特性,Dubbo Proxyless Mesh 直接实现 xDS 协议解析, 实现 Dubbo 与 Control Plane 的直接通信,进而实现控制面对流量管控、服务治理、可观测性、安全等的统一管控,规避 Sidecar 模式带来的性能损耗与部署架构复杂性。 什么是Service Mesh Service Mesh 又译作 “服务网格”,作为 …

    更多

  • 22-Dubbo3消费者自动感应决策应用级服务发现原理

    Monday, August 22, 2022 在 Dubbo3 [v3.0.8] 源码解析

    22-Dubbo3消费者自动感应决策应用级服务发现原理 22.1 简介 这里要说的内容对Dubbo2迁移到Dubbo3的应用比较有帮助,消费者应用级服务发现做了一些自动决策的逻辑来决定当前消费者是应用级发现还是接口级服务发现,这里与前面说的提供者双注册的原理是对等的,提供者默认同时进行应用级注册和接口级注册,消费者对提供者注册的数据来决定使用应用级发现或者接口级发现。这些都是默认的行为,当然对于消费者来说还可以自定义其他的迁移规则,具体的需要我们详细来看逻辑。 如果说对于迁移过程比较感兴趣可以直 …

    更多

  • 21-Dubbo3消费者引用服务入口

    Sunday, August 21, 2022 在 Dubbo3 [v3.0.8] 源码解析

    21-Dubbo3消费者引用服务入口 21.1 简介 前面我们通过Demo说了一个服务引用配置的创建。另外也在前面的文章说了服务提供者的启动完整过程,不过在说服务提供者启动的过程中并未提到服务消费者是如何发现服务,如果调用服务的,这里先就不再说关于服务消费者启动的一个细节了,直接来看前面未提到的服务消费者是如何引用到服务提供者提供的服务的。 先来回顾下样例代码: public class ConsumerApplication { public static void main(String[] …

    更多