Posts in 2019
Dubbo服务端异步接口的实现背景和实践
Saturday, November 02, 2019 in 功能演示
铺垫 建议先对Dubbo的处理过程中涉及的线程阶段先做个了解,具体可参考Dubbo客户端异步接口的实现背景和使用场景。 实现背景 有必要比较详细点的介绍下服务端的线程策略来加深用户在选择服务端异步的判断依据,同时有必要引出协程这一在服务端异步中常常会用到的“秘密武器”。 服务端的线程策略 Dubbo支持多种NIO框架来做Remoting的协议实现,无论是Netty,Mina或者Grizzly,实现都大同小异,都是基于事件驱动的方式来做网络通道建立,数据流读取的。其中以Grizzly对于线程策略的 …
Dubbo客户端异步接口的实现背景和实践
Friday, November 01, 2019 in 功能演示
铺垫 先简单介绍下一次完整的Dubbo调用所经历的线程阶段。几个信息这里罗列下 Biz~代表业务线程,即便是业务逻辑处理所处的线程,Biz~线程池可能是业务自己创建维护,大多数的可能是系统框架自身管理的(比如web型的业务系统跑在Tomcat容器下,Biz~线程就是Tomcat维护);IO~代表网络数据处理线程,是IO框架(比如Netty,Grizzly)创建维护,Dubbo Remoting所默认Netty实现是NioEventloopLoopGroup;另外按照Channel与IO线程的绑定 …
支持 HTTP/2 gRPC 和 Protobuf
Monday, October 28, 2019 in 功能演示
本文总体上可分为基础产品简介、Dubbo 对 gRPC (HTTP/2) 和 Protobuf 的支持及示例演示三部分,在简介部分介绍了 Dubbo、HTTP/2、gRPC、Protobuf 的基本概念和特点;第二部分介绍了 Dubbo 为何要支持 gRPC (HTTP/2) 和 Protobuf,以及这种支持为 gRPC 和 Dubbo 开发带来的好处与不同;第三部分通过两个实例分别演示了 Dubbo gRPC 和 Dubbo Protobuf 的使用方式。 基本介绍 Dubbo 协议 从协议 …
Dubbo 中的 URL 统一模型
Thursday, October 17, 2019 in 源码分析
定义 在不谈及 dubbo 时,我们大多数人对 URL 这个概念并不会感到陌生。统一资源定位器 (RFC1738――Uniform Resource Locators (URL))应该是最广为人知的一个 RFC 规范,它的定义也非常简单 因特网上的可用资源可以用简单字符串来表示,该文档就是描述了这种字符串的语法和语 义。而这些字符串则被称为:“统一资源定位器”(URL) 一个标准的 URL …
研究 Dubbo 网卡地址注册时的一点思考
Tuesday, October 01, 2019 in 功能演示
1 如何选择合适的网卡地址 可能相当一部分人还不知道我这篇文章到底要讲什么,我说个场景,大家应该就明晰了。在分布式服务调用过程中,以 Dubbo 为例,服务提供者往往需要将自身的 IP 地址上报给注册中心,供消费者去发现。在大多数情况下 Dubbo 都可以正常工作,但如果你留意过 Dubbo 的 github issue,其实有不少人反馈:Dubbo Provider 注册了错误的 IP。如果你能立刻联想到:多网卡、内外网地址共存、VPN、虚拟网卡等关键词,那我建议你一定要继续将本文看下去,因为 …
Dubbo Admin服务测试功能
Monday, August 26, 2019 in 功能演示
基于Dubbo2.7的元数据,Dubbo Admin实现了服务测试功能,可以通过泛化调用,在控制台上调用真实的服务提供者 使用方式 部署服务提供者: 可以在这里下载demo,此工程基于spring boot,方便在IDE或者命令行启动,对于服务测试来说,只需要启动dubbo-basic-provider即可。 服务查询: 完成服务端部署后,可以到Dubbo Admin的服务测试页面上查询对应的服务: 这里的信息和元数据类似,包含方法名,参数类型和返回值信息,点击右边的标签就可以进入服务测试页面 …
使用Apache Skywalking (Incubator) 做分布式跟踪
Sunday, August 11, 2019 in 生态集成
Apache Skywalking(Incubator)简介 Apache Skywalking(Incubator) 专门为微服务架构和云原生架构系统而设计并且支持分布式链路追踪的APM系统。Apache Skywalking(Incubator)通过加载探针的方式收集应用调用链路信息,并对采集的调用链路信息进行分析,生成应用间关系和服务间关系以及服务指标。Apache Skywalking (Incubating)目前支持多种语言,其中包括Java,.Net Core,Node.js和Go语 …
在 Dubbo 中使用 REST
Friday, July 26, 2019 in 功能演示
什么是 REST REST 是 Roy Thomas Fielding 1 在 2000 年他的博士论文 2 “架构风格以及基于网络的软件架构设计” 中提出来的一个概念。REST 是 REpresentational State Transfer 的缩写,翻译过来就是 “表现层状态转化”。REST 就是 Roy 在这篇论文中提出的面向互联网的软件所应当具备的架构风格。 按照 REpresentational State Transfer 的字面意思,可以把应用看成是一个虚拟的状态机,软件提供的不 …