Dubbo源码浅析(一)—RPC框架与Dubbo
RPC,Remote Procedure Call 即远程过程调用,与之相对的是本地服务调用,即LPC(Local Procedure Call)。本地服务调用比较常用,像我们应用内部程序(注意此处是程序而不是方法,程序包含方法)互相调用即为本地过程调用,而远程过程调用是指在本地调取远程过程进行使用... ... »
RPC,Remote Procedure Call 即远程过程调用,与之相对的是本地服务调用,即LPC(Local Procedure Call)。本地服务调用比较常用,像我们应用内部程序(注意此处是程序而不是方法,程序包含方法)互相调用即为本地过程调用,而远程过程调用是指在本地调取远程过程进行使用... ... »
Dami,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖,特适合 DDD。 特点 结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作异步响应。 支持事务传导(同步分发、异常透传) 支持事件标识、拦截器(方便跟踪) 支持监听者排序、附件传递(多监听时,可 ... »
Dami,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖,特适合 DDD。 特点 结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作异步响应。 支持事务传导(同步分发、异常透传) 支持事件标识、拦截器(方便跟踪) 支持监听者排序、附件传递(多监听时,可 ... »
默认你已经看过我之前的教程了,并且拥有上个教程完成的项目, 之前的教程 https://www.cnblogs.com/leafstar/p/17638782.html 1.在bank1的pom文件中引入以下依赖 <dependency> <groupId>org.apache.dubbo</gro ... »
# 自己动手实现rpc框架(二) 实现集群间rpc通信 ## 1. 集群间rpc通信 上一篇博客中MyRpc框架实现了基本的点对点rpc通信功能。而在这篇博客中我们需要实现MyRpc的集群间rpc通信功能。 * [自己动手实现rpc框架(一) 实现点对点的rpc通信](https://www.cnb ... »
大家好,我是王有志。今天开个新坑,和大家一起学习Dubbo。我们从一些基本的概念开始,然后和大家一起学习Dubbo的使用,最后深入Dubbo的核心原理。 ... »
# 一、背景 前段时间了解了泛化调用这个玩意儿,又想到自己之前写过一个RPC框架(参考《[手写一个RPC框架](https://www.cnblogs.com/2YSP/p/13545217.html)》),于是便想小试牛刀。 # 二、泛化调用简介 **什么是泛化调用** 泛化调用就是在不依赖服务方 ... »
# 自己动手实现rpc框架(一) 实现点对点的rpc通信 ## 1. 什么是rpc? **RPC**是远过程调用(Remote Procedure Call)的缩写形式,其区别于一个程序内部基本的过程调用(或者叫函数/方法调用)。 ##### 随着应用程序变得越来越复杂,在单个机器上中仅通过一个进程 ... »
# 0 文章概述 在RPC场景中因为重试或者没有实现幂等机制而导致的重复数据问题,必须引起大家重视,有可能会造成例如一次购买创建多笔订单,一条通知信息被发送多次等问题,这是技术人员必须面对和解决的问题。 有人可能会说:当调用失败时程序并没有显示重试,为什么还会产生重复数据问题呢?这是因为即使没有显示 ... »
哈喽大家好,我是咸鱼 随着互联网技术的发展,分布式架构越来越被人们所采用。在分布式架构下,**为了实现复杂的业务逻辑,应用程序需要分布式通信实现远程调用** 而这时候就需要一种协议来支持远程过程调用,以便实现不同应用程序之间的数据交换和信息传递。其中常用的协议包括 HTTP 协议和 RPC 协议 H ... »
在做新需求开发或者相关系统的维护更新时,尤其是涉及到不同系统的接口调用时,在可维护性方面,总感觉有很多地方差强人意。一些零星思考,抛砖引玉,希望引发更多的思考和讨论。总结了大概有如下几条建议: ... »
目录 一、RPC简介 1.1 简介 1.2 本地调用和远程调用的区别 1.3 RPC运行的流程 1.4 小结 二、RPC简单实现 2.1 客户端实现代码 2.2 服务端代码 三、加强版RPC(以“RPC简单实现”为基础) 3.1 加入错误处理 3.2 加入网络连接(socket) 3.3 »
既然有 HTTP 请求,为什么还要用 RPC 调用? 一直以来都没有深究过RPC和HTTP的区别,不都是写一个服务然后在客户端调用么? HTTP和RPC最本质的区别,就是 RPC 主要是基于 TCP/IP 协议的,而 HTTP 服务主要是基于 HTTP 协议的。 我们都知道 HTTP 协议是在传输层 ... »
目录 文章概述 1 为什么重试 2 怎么做重试 2.1 集群容错策略 (1) Failover (2) Failfast (3) Failsafe (4) Failback (5) Forking (6) Broadcast 2.2 源码分析 2.2.1 Failover 2.2.2 Fa »
目录 文章概述 1 为什么重试 2 怎么做重试 2.1 集群容错策略 (1) Failover (2) Failfast (3) Failsafe (4) Failback (5) Forking (6) Broadcast 2.2 源码分析 2.2.1 Failover 2.2.2 Fa »
目录 开始 实现两点之间的通讯(transport) 实现反射调用已注册的方法 总结(自我pua) RPC(Remote Procedure Call Protocol)远程过程调用协议。 一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应 »
目录 开始 实现两点之间的通讯(transport) 实现反射调用已注册的方法 总结(自我pua) RPC(Remote Procedure Call Protocol)远程过程调用协议。 一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应 »
目录 从一个 Demo 入手 这 RPC 吗 RPC Server 原理 注册服务 注册 Http Handle 逻辑处理 RPC Client 原理 gob 编解码 总结 从一个 Demo 入手 为了快速进入状态,我们先搞一个 Demo,当然这个 Demo 是参考 Go 源码 sr »
目录 从一个 Demo 入手 这 RPC 吗 RPC Server 原理 注册服务 注册 Http Handle 逻辑处理 RPC Client 原理 gob 编解码 总结 从一个 Demo 入手 为了快速进入状态,我们先搞一个 Demo,当然这个 Demo 是参考 Go 源码 sr »
这可能是有史以来最好用的RPC接口测试工具 文末有视频简介 获取方式 一只小Coder 简介 T-Dubbo,是一个基于Dubbo的全自动RPC接口测试平台为当下最流行的微服务架构中的RPC接口提供了测试平台,传统的RPC接口测试过程十分繁琐,需要写对应的REST接口、或者寻找其他方式来进行测试,无 ... »