Dubbo
琦小虾
抱拳会天下英豪,煮酒论成败是非。
展开
-
Dubbo技术知识总结之六——Dubbo服务调用链路
接上篇《Dubbo技术知识总结之五——Dubbo远程调用》六. Dubbo 服务调用链路参考地址:《Dubbo中服务消费者和服务提供者之间的请求和响应过程》6.1 初始化服务提供者启动时,对外暴露一个 Exporter,它是一个可以接受外界连接代理对象,接受连接的方式是启动一个 Netty Server 监听连接。服务消费者启动时,调用 RPC 接口时调用的是一个 Invoker 接口,类型是 RpcInvocation。它是一个通过动态代理方式生成的代理对象,可以通过 Netty Cli.原创 2020-07-08 23:52:02 · 866 阅读 · 0 评论 -
Dubbo技术知识总结之五——Dubbo远程调用
接上篇《Dubbo技术知识总结之四——Dubbo集群容错》五. 远程调用上篇《Dubbo技术知识总结之四——Dubbo集群容错》的七个步骤中,前四个步骤是 Cluster 层的工作。远程调用是后续步骤 5, 6, 7 的内容,同时也是 Cluster 层以下的工作。该部分对 Dubbo 远程调用的基础与实现进行总结,包括 Dubbo 协议,编解码器,Dubbo 线程模型。5.1 Dubbo 协议Dubbo 协议设计参考了 TCP/IP 协议,每次 RPC 调用,报文都会包括协议头和协议体两个部分.原创 2020-07-08 00:03:40 · 404 阅读 · 0 评论 -
Dubbo技术知识总结之四——Dubbo集群容错
接上篇《Dubbo技术知识总结之三——Dubbo 启动与服务暴露、引用》四. 集群容错在客户端已经从注册中心拉取和订阅服务列表完毕的前提下,Dubbo 完成一次完整的 RPC 调用,流程如下:服务列表聚合;路由;负载均衡;选择一台机器进行 RPC 调用;请求交给底层 I/O 线程池处理;读写、序列化、反序列化;方法调用;将上面的步骤进行细化,在一次 RPC 调用过程中,Cluster 层的流程如下:根据不同的容错机制,生成 Invoker 对象,调用 AbstractClus.原创 2020-07-07 23:58:45 · 780 阅读 · 0 评论 -
Dubbo技术知识总结之三——Dubbo 启动与服务暴露、引用
接上篇《Dubbo技术知识总结之二——注册中心》三. Dubbo 启动与服务暴露、引用服务暴露:见书 5.2.2 章,文章《Dubbo服务暴露与注册》3.1 启动时 dubbo 标签解析服务启动时,首先解析 dubbo 的配置文件。dubbo 的配置文件是一个 Spring Bean 的 XML 配置文件,其中都是 dubbo 自定义的标签。Spring 启动过程中会使用 BeanDefinitionParser 解析 XML 配置文件中的 Bean,dubbo 就是提供了一个 BeanDe.原创 2020-07-07 23:56:16 · 270 阅读 · 0 评论 -
Dubbo技术知识总结之二——注册中心
接上篇《Dubbo技术知识总结之一——Dubbo架构》二. 注册中心首先需要说明的一点是,服务的暴露与注册是两个不同的概念。在Dubbo中,微服务之间的交互默认是通过Netty进行的,而服务之间的通信是基于TCP以全双工的方式进行的。那么也就是说,每个服务都会存在一个ip和port。所谓的服务暴露就是指根据配置将当前服务使用Netty绑定一个本地的端口号(对于消费者而言,则是尝试连接目标服务的ip和端口)。至于注册,由于微服务架构中对于新添加的服务,需要一定的机制来通知消费者,有新的服务可用,或者对.原创 2020-07-07 23:54:28 · 166 阅读 · 0 评论 -
Dubbo技术知识总结之一——Dubbo架构
一. Dubbo 架构参考地址:《dubbo系列三、架构介绍及各模块关系》Dubbo 是阿里服务化治理方案的核心框架,是一种分布式 RPC 框架,它提供了注册中心机制,解耦了消费方与服务方动态发现的问题。1.1 Dubbo 架构Dubbo 的架构主要分为四部分:服务提供方、服务消费者、注册中心、统计中心,这四部分也被称为部署逻辑拓扑节点。Dubbo 运作模式如下:注册:服务提供方 (Provider) 启动时,把自己的元数据向注册中心 (Registry) 上面注册;订阅:服务消费者 (C原创 2020-07-07 23:52:42 · 536 阅读 · 0 评论