RPC和HTTP,它们之间到底啥关系

既然有 HTTP 请求,为什么还要用 RPC 调用?
gPRC 为什么使用 HTTP/2
在这里插入图片描述

Spring Cloud 默认是微服务通过Restful API来进行互相调用各自微服务的方法,同时也支持集成第三方RPC框架(这里的说的RPC是特指在一个应用中调用另一个应用的接口而实现的远程调用,即红色框所指的范围。)

Restful API底层采用HTTP作为通信协议

Spring Cloud 为了编码的方便(编程的优雅),使用了Feign。
Feign is a declarative web service client. It makes writing web service clients easier.

RPC(远程过程调用)是一个广泛应用的概念,它描述了一种通过网络从远程计算机程序上请求服务的机制,而不需要了解底层网络技术的细节。
RPC可以在不同的层次上实现,包括操作系统的进程间通信(IPC)和网络中不同主机间的服务调用。

RPC的实现通常遵循一种设计风格,即将函数或方法调用的参数和名称封装起来,然后通过网络发送到远程系统上执行。
这种设计风格与RESTful架构形成对比,后者通常使用HTTP作为传输协议,并且利用URI来表示资源,通过HTTP方法(如GET、POST、PUT、DELETE等)来表示操作,并且通常将参数通过查询字符串或请求体传递。

RPC框架也可以使用HTTP协议作为传输协议,比如grpc采用http 2.0作为传输协议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/641249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git--基本操作介绍(2)

Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull. 说明: workspace:工作区staging area:暂存区/缓存区local repository:版本库或本地仓库remote repository&#xf…

Linux 一键部署grafana

grafana 前言 Grafana 是一款开源的数据可视化和监控仪表盘工具。它提供了丰富的数据查询、可视化和报警功能,可用于实时监控、数据分析和故障排除等领域。 通过 Grafana,您可以连接到各种不同的数据源,包括时序数据库(如 Prometheus、InfluxDB)和关系型数据库(如 MySQ…

2008年苏州大学837复试机试C/C++

2008年苏州大学复试机试 题目 编写程序充成以下功能: 一、从键盘上输入随机变量x的 10个取样点。X0,X1—X9 的值; 1、计算样本平均值 2、判定x是否为等差数列 3、用以下公式计算z的值(t0.63) 注。请对程序中必要地方进行注释 补充:个人觉得这个题目回忆…

Vscode 顶部Menu(菜单)栏消失如何恢复

Vscode 顶部Menu(菜单)栏消失如何恢复? 首先按一下 Alt按键,看一下是否恢复了菜单栏如果恢复了想了解更进一步的设置,或是没能恢复菜单栏,可以看后续。 1.首先点击左下角 齿轮,打开settings; 或者 直接 ctrl 逗号 …

chrome提升搜索效率的快捷方法

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【计算机二级考试C语言】C预处理器

C 预处理器 C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor&#x…

C# 使用System.Threading.Timer 实现计时器

写在前面 以往一般都是用 System.Timers.Timer 来做计时器,而 System.Threading.Timer 也可以实现计时器功能,并且还可以配置首次执行间隔,在功能上比System.Timers.Timer更加丰富;根据这个特性就可以实现按指定时间间隔对委托进…

单点安装3.6.23_ubuntu18.04

系统参数配置 操作系统主机命名 hostnamectl set-hostname dbatest01 /etc/hosts配置 cp /etc/hosts /etc/hosts.bak cat >>/etc/hosts<<EOF 10.0.0.31 dbatest01 EOF limits.conf echo add by mongodb >> /etc/security/limits.conf echo m…

掌握C++20的革命性特性:Concepts

掌握C20的革命性特性&#xff1a;Concepts C20 的新特性 C20 引入了 Concepts&#xff0c;这是一种用于限制类和函数模板的模板类型和非类型参数的命名要求。Concepts 是作为编译时评估的谓词&#xff0c;用于验证传递给模板的模板参数。Concepts 的主要目的是使模板相关的编…

书法家深入社区开展“迎春送福”写春联活动

春节将至&#xff0c;岁寒情深。2024年1月22日&#xff0c;在春节即将来临之际&#xff0c;双岗街道万小店社区邀请“四知书画院”院长杨东初、“东方诗书画院”院长杨玉能、“林散之草圣书画院”客座教授倪萍等知名书法家&#xff0c;在合肥市庐阳区为民社会服务中心开展“迎春…

vue2中将axios库挂载到Vue的原型对象上,以使其在整个Vue应用程序中可用

通过Vue.prototype可以扩展Vue的原型对象&#xff0c;并添加自定义的属性或方法。在这种情况下&#xff0c;$axios是自定义的属性名&#xff0c;可以根据需求进行命名。 通过Vue.prototype.$axios axios这行代码&#xff0c;将axios库赋值给Vue的原型对象上的$axios属性。这样…

alzet渗透泵多少钱,你知道么?

alzet渗透压泵可被埋植在实验动物的皮下或腹腔&#xff0c;渗透层与泵体埋植组织之间高渗透压导致组织内水分通过泵体外层的刚性半透膜进入泵体&#xff0c;从而挤压由柔韧的非渗透性膜组成的药池使药池内的试剂以预定的速度释放。 近几年&#xff0c;在研究中使用alzet渗透泵…

Feign代理目标方法执行流程

总体而言Feign调用目标方法之前被jdk动态代理区分为两种形式&#xff1a;负载均衡方式以及域名直接调用方式。 public class FeignClientFactoryBean{public <T> T getTarget() {//通过父容器创建子容器工厂类FeignContextFeignContext context applicationContext.get…

[Oracle] INSERT INTO 几种用法

插入数据需要使用 INSERT INTO 语句。该语句有多种写法&#xff0c;具体取决于插入的数据来源和目标&#xff0c;下面介绍一些常见用法和语法。 1.插入所有列的值 如果要将数据插入到表中的所有列中&#xff0c;则可以使用以下 INSERT INTO 语句&#xff1a; INSERT INTO tab…

ARM_Linux中GCC编译器的使用

目录 前言: GCC编译过程: 预处理&#xff1a; 编译阶段&#xff1a; 汇编&#xff1a; 链接阶段 GCC的常见使用 前言: 什么是GCC: gcc的全称是GNU Compiler Collection&#xff0c;它是一个能够编译多种语言的编译器。最开始gcc是作为C语言的编译器&#xff08;GNU C Co…

PgSQL - 17新特性 - 块级别增量备份

PgSQL - 17新特性 - 块级别增量备份 PgSQL可通过pg_basebackup进行全量备份。在构建复制关系时&#xff0c;创建备机时需要通过pg_basebackup全量拉取一个备份&#xff0c;形成一个mirror。但很多场景下&#xff0c;我们往往不需要进行全量备份/恢复&#xff0c;数据量特别大的…

C++面试宝典第23题:乌托邦树

题目 乌托邦树每年经历2个生长周期。每年春天,它的高度都会翻倍。每年夏天,他的高度都会增加1米。对于一颗在春天开始时种下的高为1米的树,问经过指定周期后,树的高度为多少? 输入描述:输入一个数字N(0 <= N <= 1000),表示指定周期。 比如:样例输入为3。 输出描…

helm---自动化一键部署

什么是helm?? 在没有这个helm之前&#xff0c;deployment service ingress helm的作用就是通过打包的方式&#xff0c;把deployment service ingress 这些打包在一块&#xff0c;一键式部署服务&#xff0c;类似于yum 官方提供的一个类似于安装仓库的功能&#xff0c;可以实…

基于springboot+vue新能源汽车充电管理系统

摘要 新能源汽车充电管理系统是基于Spring Boot和Vue.js技术栈构建的一款先进而高效的系统&#xff0c;旨在满足不断增长的新能源汽车市场对充电服务的需求。该系统通过整合前后端技术&#xff0c;实现了用户注册、充电桩管理、充电订单管理等核心功能&#xff0c;为用户提供便…

vue的vue-resource和axios介绍

在Vue项目中前后端交互时&#xff0c;早期Vue使用Vue-resource实现异步请求。 从Vue2.0之后就不再对vue-resource进行更新&#xff0c;Vue官方推荐使用axios。 一、vue-resource Vue.js的插件提供了使用XMLHttpRequest 或 JSONP进行Web请求和处理响应的服务。vue-resource像jQ…