张贴在 2023

  • 使用 Hystrix 对 Dubbo 服务进行熔断限流保护

    Thursday, December 14, 2023 在 功能演示

    背景 Hystrix 旨在通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。Hystrix具备拥有回退机制和断路器功能的线程和信号隔离,请求缓存和请求打包,以及监控和配置等功能。 本文介绍在spring应用里,怎么把 Dubbo 和 Hystrix 结合起来使用。 https://github.com/Netflix/Hystrix https://github.com/apache/dubbo Spring Boot应用 Demo 地址: …

    更多

  • 使用 Resilience4j 断路器、限流器、重试、隔离机制保护 Dubbo 应用

    Thursday, December 14, 2023 在 功能演示

    Resilience4j 提供了一组高阶函数(装饰器),包括断路器,限流器,重试,隔离,可以对任何的函数式接口,lambda表达式,或方法的引用进行增强,并且这些装饰器可以进行叠加。这样做的好处是,你可以根据需要选择特定的装饰器进行组合。 关于 Resilience4j 与 Dubbo 集成的使用示例请参见 dubbo-samples-resilience4j

    更多

  • Dubbo 连接异构微服务体系 - 多协议&多注册中心

    Thursday, January 05, 2023 在 功能演示

    从编程开发的角度来说,Dubbo 首先是一款 RPC 服务框架,它最大的优势在于提供了面向接口代理的服务编程模型,对开发者屏蔽了底层的远程通信细节。同时 Dubbo 也是一款服务治理框架,它为分布式部署的微服务提供了服务发现、流量调度等服务治理解决方案。 在这篇文章中,我们将以以上基础能力为背景,尝试突破 Dubbo 体系自身,探索如何利用 Dubbo 对多协议、多服务发现模型的支持,来实现异构微服务体系间的互联互通。在实际业务场景中,这可以用来解决异构技术体系共存场景下的通信问题,帮助公司实现 …

    更多

张贴在 2022

  • 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 又译作 “服务网格”,作为 …

    更多

  • Rest 协议

    Tuesday, July 26, 2022 在 功能演示

    Dubbo RestProtocol 设计文档 原版本dubbo rest consumer restClient支持 依赖resteasy 不支持spring mvc provider(较重) 依赖web container (tomcat,jetty,)servlet 模式,jaxrs netty server 改版dubbo rest 方向: 更加轻量,具有dubbo风格的rest,微服务体系互通(Springcloud Alibaba) 1.注解解析 2. …

    更多

张贴在 2020

  • Dubbo-Api-Docs -- Apache Dubbo文档展示&测试工具

    Tuesday, December 22, 2020 在 功能演示

    Dubbo-Api-Docs 背景 Swagger 是一个规范和完整的前端框架,用于生成,描述,调用和可视化 RESTful 风格的 Web 服务. Swagger 规范也逐渐发展成为了 OpenAPI 规范. Springfox 是一个集成了Swagger,基于 Sring MVC/Spring Webflux 实现的一个 Swagger 描述文件生成框架,通过使用它定义的 一些描述接口的注解自动生成Swagger的描述文件, 使 Swagger 能够展示并调用接口. 相信很多人都听说和使用 …

    更多

张贴在 2019

  • Dubbo测试验证

    Monday, December 02, 2019 在 功能演示

    除了线上常规的使用场景以外,我们在日常使用中还需要一些特定的使用方式,比如对正在开发的功能进行验证测试,比如单独调用某台机器的服务,这篇文章就来介绍一下这些场景下的使用方式。 只订阅 为方便开发测试,经常会在线下共用一个所有服务可用的注册中心,这时,如果一个正在开发中的服务提供者注册,可能会影响消费者不能正常运行。 可以让服务提供者开发方,只订阅服务(开发的服务可能依赖其它服务),而不注册正在开发的服务,通过直连测试正在开发的服务。 禁用注册配置 <dubbo:registry …

    更多

  • Dubbo 在 Service Mesh 下的思考和方案

    Saturday, November 30, 2019 在 功能演示

    开头 Service Mesh这个“热”词是2016年9月被“造”出来,而今年2018年更是被称为service Mesh的关键之年,各家大公司都希望能在这个思潮下领先一步。今天我也分享阿里中间件在这方面的观点,思考和实践。考虑到有些人没了解过Dubbo(集团内以HSF为主)和Servicemesh,先简单介绍下这两个词。Dubbo应该是国内最受欢迎的远程服务框架,在Github上有超过2w的star数,也是阿里分布式架构互联互通的核心所在。跟Dubbo一样,servicemesh也是面向服务互 …

    更多

  • Dubbo服务端异步接口的实现背景和实践

    Saturday, November 02, 2019 在 功能演示

    铺垫 建议先对Dubbo的处理过程中涉及的线程阶段先做个了解,具体可参考Dubbo客户端异步接口的实现背景和使用场景。 实现背景 有必要比较详细点的介绍下服务端的线程策略来加深用户在选择服务端异步的判断依据,同时有必要引出协程这一在服务端异步中常常会用到的“秘密武器”。 服务端的线程策略 Dubbo支持多种NIO框架来做Remoting的协议实现,无论是Netty,Mina或者Grizzly,实现都大同小异,都是基于事件驱动的方式来做网络通道建立,数据流读取的。其中以Grizzly对于线程策略的 …

    更多

  • Dubbo客户端异步接口的实现背景和实践

    Friday, November 01, 2019 在 功能演示

    铺垫 先简单介绍下一次完整的Dubbo调用所经历的线程阶段。几个信息这里罗列下 Biz~代表业务线程,即便是业务逻辑处理所处的线程,Biz~线程池可能是业务自己创建维护,大多数的可能是系统框架自身管理的(比如web型的业务系统跑在Tomcat容器下,Biz~线程就是Tomcat维护);IO~代表网络数据处理线程,是IO框架(比如Netty,Grizzly)创建维护,Dubbo Remoting所默认Netty实现是NioEventloopLoopGroup;另外按照Channel与IO线程的绑定 …

    更多