rpc

警惕看不见的重试机制:为什么使用RPC必须考虑幂等性

# 0 文章概述 在RPC场景中因为重试或者没有实现幂等机制而导致的重复数据问题,必须引起大家重视,有可能会造成例如一次购买创建多笔订单,一条通知信息被发送多次等问题,这是技术人员必须面对和解决的问题。 有人可能会说:当调用失败时程序并没有显示重试,为什么还会产生重复数据问题呢?这是因为即使没有显示 ... »

为什么有了 HTTP 还要 RPC

哈喽大家好,我是咸鱼 随着互联网技术的发展,分布式架构越来越被人们所采用。在分布式架构下,**为了实现复杂的业务逻辑,应用程序需要分布式通信实现远程调用** 而这时候就需要一种协议来支持远程过程调用,以便实现不同应用程序之间的数据交换和信息传递。其中常用的协议包括 HTTP 协议和 RPC 协议 H ... »

关于接口可维护性的一些建议

在做新需求开发或者相关系统的维护更新时,尤其是涉及到不同系统的接口调用时,在可维护性方面,总感觉有很多地方差强人意。一些零星思考,抛砖引玉,希望引发更多的思考和讨论。总结了大概有如下几条建议: ... »

C++简单实现RPC网络通讯的示例详解

目录 一、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

既然有 HTTP 请求,为什么还要用 RPC 调用? 一直以来都没有深究过RPC和HTTP的区别,不都是写一个服务然后在客户端调用么? HTTP和RPC最本质的区别,就是 RPC 主要是基于 TCP/IP 协议的,而 HTTP 服务主要是基于 HTTP 协议的。 我们都知道 HTTP 协议是在传输层 ... »

tyson03

Golang实现简易的rpc调用

目录 开始 实现两点之间的通讯(transport) 实现反射调用已注册的方法 总结(自我pua) RPC(Remote Procedure Call Protocol)远程过程调用协议。 一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应 »

Golang实现简易的rpc调用

目录 开始 实现两点之间的通讯(transport) 实现反射调用已注册的方法 总结(自我pua) RPC(Remote Procedure Call Protocol)远程过程调用协议。 一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应 »

一文吃透Go的内置RPC原理

目录 从一个 Demo 入手 这 RPC 吗 RPC Server 原理 注册服务 注册 Http Handle 逻辑处理 RPC Client 原理 gob 编解码 总结 从一个 Demo 入手 为了快速进入状态,我们先搞一个 Demo,当然这个 Demo 是参考 Go 源码 sr »

一文吃透Go的内置RPC原理

目录 从一个 Demo 入手 这 RPC 吗 RPC Server 原理 注册服务 注册 Http Handle 逻辑处理 RPC Client 原理 gob 编解码 总结 从一个 Demo 入手 为了快速进入状态,我们先搞一个 Demo,当然这个 Demo 是参考 Go 源码 sr »

T-Dubbo,最好的RPC接口测试工具,支持nacos、zookeeper两大主流注册中心,真香!

这可能是有史以来最好用的RPC接口测试工具 文末有视频简介 获取方式 一只小Coder 简介 T-Dubbo,是一个基于Dubbo的全自动RPC接口测试平台为当下最流行的微服务架构中的RPC接口提供了测试平台,传统的RPC接口测试过程十分繁琐,需要写对应的REST接口、或者寻找其他方式来进行测试,无 ... »

onecoder

T-Dubbo,最好的RPC接口测试工具,支持nacos、zookeeper两大主流注册中心,真香!

这可能是有史以来最好用的RPC接口测试工具 文末有视频简介 获取方式 一只小Coder 简介 T-Dubbo,是一个基于Dubbo的全自动RPC接口测试平台为当下最流行的微服务架构中的RPC接口提供了测试平台,传统的RPC接口测试过程十分繁琐,需要写对应的REST接口、或者寻找其他方式来进行测试,无 ... »

onecoder

Node.js高级编程使用RPC通信示例详解

目录 前言 Node.js 朴素 RPC Thrift RPC Demo 补充内容 关于 TCP “粘包”问题说明 前言 在构建微服务时,为了追求极致的效率,服务间一般会使用 RPC(Remote Procedure Call)来进行通信。本文通过 Node.js 来实践一下。 N »

一文吃透 Go 内置 RPC 原理

hello 大家好呀,我是小楼,这是系列文《Go底层原理剖析》的第三篇,依旧分析 Http 模块。我们今天来看 Go内置的 RPC。说起 RPC 大家想到的一般是框架,Go 作为编程语言竟然还内置了 RPC,着实让我有些吃鲸。 从一个 Demo 入手 为了快速进入状态,我们先搞一个 Demo,当然这 ... »

zhuochongdashi

Rpc-实现Client对ZooKeeper的服务监听

1、前言 在上一篇文章中,完成了ZooKeeper注册中心。但是在上一篇中,ZooKeeper添加了一个简单的本地缓存,存在一些问题: 当本地缓存OK,ZooKeeper对应服务有新的实例时,本地缓存不会自动更新 当ZooKeeper对应服务实例关闭,本地缓存不会监控到实例消失 2、编写 之前我们是 ... »

Rpc-实现Zookeeper注册中心

1.前言 本文章是笔主在声哥的手写RPC框架的学习下,对注册中心的一个拓展。因为声哥某些部分没有保留拓展性,所以本文章的项目与声哥的工程有部分区别,核心内容在Curator的注册发现与注销,思想看准即可。 本文章Git仓库:zko0/zko0-rpc 声哥的RPC项目写的确实很详细,跟学一遍受益匪浅 ... »

Netty实现简易版的RPC框架过程详解

目录 正文 1:如何运行项目 2:从客户端调用开始(springboot-zk-study项目) 3:服务端处理请求 4:接下来要做什么 正文 项目地址:gitee.com/baojh123/rp… netty-study 这个项目是没用到的,可以删掉,主要是测试Nett »

Java CompletableFuture 异步超时实现探索

JDK 8 是一次重大的版本升级,新增了非常多的特性,其中之一便是 CompletableFuture。自此从 JDK 层面真正意义上的支持了基于事件的异步编程范式,弥补了 Future 的缺陷。 在我们的日常优化中,最常用手段便是多线程并行执行。这时候就会涉及到 CompletableFutur... ... »

Dubbo-RPC核心接口介绍

前言 Dubbo源码阅读分享系列文章,欢迎大家关注点赞 SPI实现部分 Dubbo-SPI机制Dubbo-Adaptive实现原理Dubbo-Activate实现原理Dubbo SPI-Wrapper 注册中心 Dubbo-聊聊注册中心的设计Dubbo-时间轮设计 通信 Dubbo-聊聊通信模块设计 ... »