不知道啥时候开始好像一下子都流行叫“RPC”了。之前我们都叫“API”的,为此我特地百度了一下才知道原来:API(Application Programming Interface,应用程序编程接口)RPC(Remote Procedure Call),远程过程调用)这样一看确实叫RPC更合适一下,细致讲一下我们Winner2.0中接口请求规范,我们从简到繁的说一下演变过程(以下就简称RPC)。&
转载
2024-05-10 14:44:37
40阅读
软件接口的规范艺术
黄国强 2007-9-20
在软件开发中,模块之间的接口定义非常重要。在这些接口中,界面这个面向用户的接口是最重要的。 每个模块的接口,往往隐含着对调用者的一些规范。我认为这些规范应遵循这样一个原则:即针对用户的规范,越简单越好,针对内部的规范,越复杂越好。  
远程过程调用(RPC):即对远程站点机上的过程进行调用。当站点机A上的一个进程调用另一个站点机上的过程时,A上的调用进程挂起,B上的被调用过程执行,并将结果返回给调用进程,使调用进程继续执行【B上的被调用过程的参数和执行结果在调用和被调用进程之间是通过消息传递来实现的,表现为C/S关系】为实现不同站点机上的RPC,调用和被调用进程各方都要保留一个用于存放过程参数和执行结果的运行栈,分别称为客户和服
HTTP与RPC的区别:人们常常错误地将HTTP称作一种远程过程调用(RPC)[23]机制,仅仅是因为它包括了请求和响应。 调用远程机器上的一个过程(procedure)的观念,是RPC与其他形式的基于网络的应用通信的区别在。 RPC的协议识别出过程并且传递给它固定的一组参数,然后等待在使用相同接口返回的一个消息中提供的回答。远程方法调用(RMI)也是类
说起 RPC (远程过程调用),大家应该不陌生。随着微服务、分布式越来越流行,RPC 应用越来越普遍。常见的 RPC 框架如:Dubbo、gRPC、Thrift 等。本篇文章不是介绍各种 RPC 的使用和对比。而是深入剖析一个 RPC 包含哪些内容。我最近在 Hadoop 的源码,正好把 Hadoop RPC 看完了。感觉 Hadoop 的 RPC 框架设计的还是比价优秀的。Hadoop 作为大数
转载
2024-08-23 11:23:05
100阅读
主要参考拉勾教育潘新宇老师的《23讲搞定后台架构实战》,文末是所参考的具体文章链接。1、RPC 接口防备上游、做好自己、怀疑下游。定义新的接口时需要考虑未来兼容性,如果接口上线后再想要修改,则需要花费较高的成本。1.1 第一个原则:增加接口调用鉴权增加鉴权后,调用方申请权限时可以沟通好预期,明确接口功能和调用方的意图,避免流量过高打挂服务,或者传参出错等。1.2 第二个原则:接口里的入参需要是对象
转载
2023-08-30 13:51:58
350阅读
概述本文介绍如何玩转 RPC, 可以说是 RPC 开发规范, 也可以理解为 RPC 最佳实战.一、接口设计写入的服务保证幂等性,不幂等则要求有排重处理。方法上面要求显式的抛出可能出现的异常,即使是自定义Runtime异常(不使用抛出 Dubbo 的异常,可能引起特殊处理例如重试)。方法名要求含义明确且唯一,不能使用重载方法。自定义对象数据结构要求尽量简洁,尽量不要多层循环嵌套。尽量避免接口参数使用
转载
2024-04-04 15:42:27
143阅读
RPC1、 RPC基本概念 RPC(Remote Procedure Call Protocotl) 远程过程调用协议,一种通信的描述是: 客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样。比较正式的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。目前典型的RPC实现包括: Dubbo、Thrift、GRPC、Ne
转载
2024-03-15 07:53:28
88阅读
只要涉及到网络通信,必然涉及到网络协议,应用层也是一样。在应用层最标准和常用的就是HTTP协议。但在很多性能要求较高的场景各大企业内部也会自定义的 RPC 协议。举个例子,就是相当于各个省不但用官方普通话,还都有自己的方言,RPC就相当于是一个方言。RPC 的全称是Remote Procedure Call,翻译过来就是远程过程调用。但这个名字起的一点都不好,过分强调了和LPC(本地过程
转载
2024-05-25 13:40:07
87阅读
RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。RPC 是一种技术思想而非一种规范或协议,常见 RPC 技术和框架有:应用级的服务框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud。远程通信协议:RMI、Socket、SOAP(HTTP XM
转载
2024-03-24 10:18:05
90阅读
一 前言 RPC即远程过程调用(Remote Procedure Calls)它是是一种网络协议,用于支持分布式系统中跨应用跨主机之间的接口调用。RPC之存在使我们调用其他服务的接口时就像调用三方库类的方法一样便捷,但是RPC接口作为微服务中对外提供能力的暴露点,稍有不慎就会陷入万劫不复之地
转载
2024-03-23 20:47:28
103阅读
via 作者: JSON-RPC工作组1.概述JSON-RPC是一个无状态且轻量级的远程过程调用(RPC)协议。 本规范主要定义了一些数据结构及其相关的处理规则。它允许运行在基于socket,http等诸多不同消息传输环境的同一进程中。其使用JSON(RFC 4627)作为数据格式。它为简单而生!2.约定文档中关键字"MUST"、"MUST NOT"、"REQUIRED"、"
转载
2024-05-20 15:28:25
165阅读
1. 基本的RPC模型 主要介绍RPC是什么,基本的RPC代码,RPC与REST的区别,gRPC的使用1.1 基本概念RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点请求另一个节点提供的服务本地过程调用:如果需要将本地student对象的age+1,可以实现一个addAge()方法,将student对象传入,对年龄进行更新之后返回即可,本地方法调用的函数体通过
转载
2024-04-13 17:10:44
54阅读
一、RPC接口RPC(Remote Procedure Call),即远程过程调用,是一种通信协议或者编程模型,用于在不同的进程或者不同的机器之间进行通信,使得一个程序能够请求另一个程序中的服务或者资源,并以本地调用的方式实现远程执行。在RPC模型中,客户端程序调用远程主机上的过程(或函数),就像调用本地程序一样,而不需要了解远程过程的细节。RPC可以隐藏底层的通信细节,使得不同平台、不同语言之间
转载
2023-09-29 20:18:48
138阅读
一、REST 与 RPC1、什么是 REST 和 RPC 协议?在单体应用中,各模块间的调用是通过编程语言级别的方法函数来实现,但分布式系统运行在多台机器上,一般来说,每个服务实例都是一个进程,服务间必须使用进程间通信机制来交互,而常见的通信协议主要有 RPC 和 REST 协议。(1)REST:REST 是基于 HTTP 实现,使用 HTTP 协议处理数据通信,更加标准化与通用,因为无论哪种语言
转载
2024-03-26 21:46:18
47阅读
1. RPC介绍所谓的RPC,Remote Procedure Call的简写,中文译作远程过程调用或者远程服务调用。直观的理解就是,通过网络请求远程服务,获取指定接口的数据,而不用知晓底层网络协议的细节。
RPC支持的格式很多,比如XML格式,JSON格式等等。最常用的肯定是json-rpc。2. Flask-JSONRPC模块介绍2.1 介绍JSON-RPC是一个无状态的、轻量级的远程过程调用
转载
2023-06-27 15:53:12
752阅读
第一章 RPC
概述 RPC
(
Remote Procedure Call
)——
远程过程调用
,它是一种通过
网络
从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。例如有两台服务器分别部署了
A
,
B
两个服务,
A
要调用
B
服务的某个方法或者函数,由于两个服务不在同一个内存
转载
2024-05-08 09:39:45
56阅读
《前言》(一) Winner2.0 框架基础分析(二)PLSQL报表系统(三)SSO单点登录(四) 短信中心与消息中心(五)钱包系统(六)GPU支付中心(七)权限系统(八)监控系统(九)会员中心(十) APP版本控制系统(十一)Winner前端框架与RPC接口规范讲解(十二)上层应用案例(十三)总结 《RPC接口使用规范》 不知道啥时候开始好像一下子都流行叫“RPC”了。之前我
转载
2024-05-13 20:32:03
54阅读
作者:莫那鲁道 2019-11-14 09:19:00众所周知,dubbo 底层使用了 Netty 作为网络通讯框架,而 Netty 的高性能我们之前也分析过源码,对他也算还是比较了解了。今天我们就自己用 Netty 实现一个简单的 RPC 框架。1、需求模仿 dubbo,消费者和提供者约定接口和协议,消费者远程调用提供者,提供者返回一个字符串,消费者打印提供者返回的数据。底层网络通信使用 Ne
HTTP接口和RPC接口都是生产上常用的接口,顾名思义,HTTP接口使用基于HTTP协议的URL传参调用,而RPC接口则基于远程过程调用。RPC(即Remote Procedure Call,远程过程调用)和HTTP(HyperText Transfer Protocol,超文本传输协议),两者前者是一种方法,后者则是一种协议。两者都常用于实现服务,在这个层面最本质的区别是RPC服务主要工作在TC
转载
2024-04-09 08:57:11
53阅读