张贴在 2021

  • Dubbo Go 的前世今生

    Monday, January 11, 2021 在 Golang

    dubbo-go 是目前 Dubbo 多语言生态最火热的项目。dubbo-go 最早的版本应该要追溯到 2016 年,由社区于雨同学编写 dubbo-go 的初版。当时很多东西没有现成的轮子,如 Go 语言没有像 netty 一样的基于事件的网络处理引擎、 hessian2 协议没有 Go 语言版本实现,加上当时 Dubbo 也没有开始重新维护。所以从协议库到网络引擎,再到上层 dubbo-go ,其实都是从零开始写的。 在 2018 年,携程开始做 Go 语言的一些中间件以搭建内部的 Go …

    更多

  • Dubbo Go 踩坑记

    Monday, January 11, 2021 在 Golang

    扯淡 前尘 由于我的一个项目需要做公司用户鉴权,而组内其他小伙伴刚好有一个 dubbo 的鉴权 rpc ,一开始我是打算直接的读 redis 数据然后自己做解密。工作进行到一半,由于考虑到如果以后这个服务有任何变动,我这边要有联动行为,所以改用 go 来调用 dubbo 的 rpc ,于是我在 github 上找到了 雨神 的 https://github.com/apache/dubbo-go-samples/tree/master (PS: 这个是 dubbo-go 前身)。不得不说,雨神是 …

    更多

张贴在 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 能够展示并调用接口. 相信很多人都听说和使用 …

    更多

  • Dubbo Java 2.7.5 功能解析

    Monday, May 18, 2020 在 社区动态

    近日,备受瞩目的 Dubbo 2.7.5 版本正式发布,在 2.7.5 版本中,Dubbo 引入了很多新的特性、对现有的很多功能做了增强、同时在性能上也有了非常大的提升,这个版本无论对 Dubbo 社区亦或是开发者来说,都将是一个里程碑式的版本。 应用粒度服务注册【beta】 HTTP/2 (gRPC) 协议支持 Protobuf 支持 性能优化,调用链路性能提升 30% 支持 TLS 安全传输链路 优化的消费端线程模型 新增更适应多集群部署场景的负载均衡策略 全新的应用开发 API (兼容老版 …

    更多

  • Dubbo Java 2.7.14 发版公告

    Monday, May 18, 2020 在 社区动态

    变动项 为 ServiceDiscovery 增加动态配置中心的覆盖规则。(#8389) 修复当 mock 参数中包含 ‘:’ 或者 ‘=’ 符号时无法正常使用的问题。(#8379) 修复 zone 参数对 ZoneAwareClusterInvoker 配置无法生效的问题。(#8521) 为序列化白名单检查增加开关,默认为 true。(#8537) 修复当请求超时时序列化检查的空指针异常。(#8587) …

    更多

  • 从 2019 到 2020,Apache Dubbo 年度回顾与总结

    Monday, May 11, 2020 在 社区动态

    非常感谢大家对 Dubbo 社区的关注,通过这篇文章我们将:总结过去一年 Dubbo 社区取得的成绩,包括社区和框架演进两个方面;展望未来 Dubbo 社区和框架的新的规划(roadmap)。社区建设是推动 Dubbo 健康持续发展的一个非常重要的环节,我们需要与社区保持良性的互动、有活跃的贡献者、有积极的富有建设性的讨论,而整个 Dubbo 社区过去一年在这方面都做的不错;在框架演进上,我们主要发布了 2.7.0 - 2.7.5 共 6 个特性版本,功能层面涵盖编程模型、协议、服务治理、性能优 …

    更多

张贴在 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线程的绑定 …

    更多