浅谈RPC服务和HTTP服务的对比差异

IM开发基础知识补课(九):想开发IM集群?先搞懂什么是RPC! 本文引用了后端技术指南针公众号“浅谈RPC那些事儿1”和即时通讯网的“即时通讯新手入门:快速理解RPC技术——基本概念、原理和用途”两篇文章的部分内容。 1、引言 经常有开发者在纠结怎么开发IM集群,虽然真正的使用人数,可能用个人电脑单机都能支撑。 你也许会说,明明不需要用到IM集群,干吗要自找麻烦?答曰:“老板说这个得有!”、“万一产品做成了,用户量达到百万、千万级呢?”,各种回答,反此种种。总之,IM集群就是得整一个(先甭管用不用的上...)。 当然,玩笑归玩笑,真正要做到可投入到生产级别的IM 阅读详情

 

OSI网络七层模型

 

  • 第一层:应用层。定义了用于在网络中进行通信和传输数据的接口;
  • 第二层:表示层。定义不同的系统中数据的传输格式,编码和解码规范等;
  • 第三层:会话层。管理用户的会话,控制用户间逻辑连接的建立和中断;
  • 第四层:传输层。管理着网络中的端到端的数据传输;
  • 第五层:网络层。定义网络设备间如何传输数据;
  • 第六层:链路层。将上面的网络层的数据包封装成数据帧,便于物理层传输;
  • 第七层:物理层。这一层主要就是传输这些二进制数据。

 

RPC服务

 

RPC架构

 

  • 客户端(Client),服务的调用方。
  • 服务端(Server),真正的服务提供者。
  • 客户端存根,存放服务端的地址消息,再将客户端的请求参数打包成网络消息,然后通过网络远程发送给服务方。
  • 服务端存根,接收客户端发送过来的消息,将消息解包,并调用本地的方法。

 

同步调用与异步调用

 

流行的RPC框架

 

  1. gRPC是Google最近公布的开源软件,基于最新的HTTP2.0协议,并支持常见的众多编程语言。 我们知道HTTP2.0是基于二进制的HTTP协议升级版本,目前各大浏览器都在快马加鞭的加以支持。 这个RPC框架是基于HTTP协议实现的,底层使用到了Netty框架的支持。
  2. Thrift是Facebook的一个开源项目,主要是一个跨语言的服务开发框架。它有一个代码生成器来对它所定义的IDL定义文件自动生成服务代码框架。用户只要在其之前进行二次开发就行,对于底层的RPC通讯等都是透明的。不过这个对于用户来说的话需要学习特定领域语言这个特性,还是有一定成本的。
  3. Dubbo是阿里集团开源的一个极为出名的RPC框架,在很多互联网公司和企业应用中广泛使用。协议和序列化框架都可以插拔是及其鲜明的特色。同样 的远程接口是基于Java Interface,并且依托于spring框架方便开发。可以方便的打包成单一文件,独立进程运行,和现在的微服务概念一致。

 

HTTP服务


 

总结

 

金蝶K3系统物料主数据后台表对应字段一览 我们说到物料表,一般是指t_icitem,但正确的说t_icitem并不是一张有,而是一张视图,不过我们对于数据库物料表中的大部分操作,都是通过此视图来完成。比如经常通过此视图,来成批修改数量,单价精度,是否启用批次等一些字段,有的时候,对于账套已经启用,并且已经有业务发生的物料,有一些关键属性也需要通过修改物料表t_icitem来进行。 当然修改的时候,需要考虑一些前提条件的。 比如说我有一个客户新建的账套,在月底结账时发现,要改一种成本核算方法,启用时用的是加权平法,现在想改成移动平均法,这样的情况, 阅读详情

相关推荐

PCIe链路训练Recovery状态机:从RcvrLock到链路稳定的关键路径

本文深入解析PCIe链路训练中的Recovery状态机,特别是RcvrLock状态的关键作用。从Block对齐、均衡预设值应用到状态转移条件,详细介绍了确保链路稳定的技术要点,并提供了高速率下的特殊处理方法和常见问题排查指南,帮助工程师解决PCIe链路不稳定问题。

weixin_28739079的博客 176

有了HTTP,为什么还要RPC?

点击上方蓝色字体,选择“标星公众号” 优质文章,第一时间送达关注公众号后台回复pay或mall获取实战项目资料+视频 作者:浮生忆梦出处:https://tinyurl.com/y4o87...

公众号-老炮说Java 1413

对LSTM中每个batch都初始化隐含层的理解

不知道有没有人和我有一样疑惑 在LSTM相关的代码中,为什么每个batch都会将隐藏层重新初始化, 这样不会把以前训练出来的参数丢掉吗?? 比如 代码来自GitHub 看了一些解释是h与c是状态,不是参数,每个batch中都需要初始化为0,LSTM 中的参数是W,b。 网络中训练的是参数,不是状态。 说真的。。。当时我没怎么看懂。。。 咨询了实验室的师兄后,我有了自己的理解 产生误解的主要原因是我对RNN和LSTM的结构理解不深入,我们通常看到RNN结构图基本都是这样的 ...

Chauncey_Wang的博客 5911

RPC与HTTP之间的区别详解

RPC是一种进程内通信机制,HTTP是一种网络应用协议。- RPC使用TCP或UDP,HTTP只使用TCP。- RPC使用自定义的数据格式,HTTP使用标准MIME类型。- RPC是持续连接,HTTP是短连接。- RPC用于内部集成,HTTP用于Web应用。尽管二者都是实现远程调用的技术,但应用场景和特点不同,各有优缺点。实际业务需综合考虑,选择最合适的方案。

撸码猿的博客 4173

浅谈Android MVI架构---大自然的搬运工~~~

浅谈 Android MVI架构

hong_world的博客 2158

cadence allegro 17.x 降版本到16.6的转换工具

Cadence17.x版本降低到16.6版本转换工具 下载链接:Cadence17.x版本降低到16.6版本转换工具   使用方法: 软件使用比较简单,在「第一个路径输入栏」浏览指向17.x的设计文件,也就是需要降版本的17.4或者17.2的文件,然后在「第二个路径输入栏」里浏览指向转换后的文件保存路径,然后点击「转换」按钮即可。 ...

ltqdxl的博客 1万+

RPC协议与HTTP协议的区别

RPC协议与HTTP协议的区别

XuXin_971222的博客 3769

华为OD机试双机位C卷-MVP争夺战 (C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【MVP争夺战】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - MVP争夺战,

qq_45776114的博客 1172

RPC和HTTP的区别

RPC和HTTP的相关知识点及其区别

林隐的博客 4315

手搓UDS Bootloader|全网独家复现0x10诊断会话控制、详解会话跳转规则与S3超时机制、助力ECU在线刷写、固件迭代、车规安全升级落地

在车载UDS诊断(ISO 14229)与Bootloader固件升级架构中,0x10诊断会话控制服务是所有高级诊断、固件刷写功能的前置核心与权限管控入口,属于UDS基础必实现服务。车载ECU通过分级会话模式,隔离常规故障诊断、高级标定、固件重编程等高、低权限操作,从协议层面保障车载电控系统的安全性与稳定性。多数嵌入式开发者开发UDS Bootloader时,仅简单实现会话切换报文应答,未吃透会话强制跳转规则、S3安全超时机制、会话权限绑定、APP在线刷写跳转逻辑。

getusushu的博客 466

SAP 发票凭证反向冲销

发票凭证反向冲销: 业务模拟: MIRO发票校验后,生成发票凭证号: 事务代码MR8M,输入凭证号码,反向冲销(类似于MIGO入库后的反向冲销): 此时进入MIRO查看,发现冲销成功,可以再次做MIRO发票校验: ...

willieyuan的博客 7711

HTTP和RPC的区别

HTTP接口和RPC接口都是生产上常用的接口,顾名思义,HTTP接口使用基于HTTP协议的URL传参调用,而RPC接口则基于远程过程调用。 RPC(即Remote Procedure Call,远程过程调用)和HTTP(HyperText Transfer Protocol,超文本传输协议),两者前者是一种方法,后者则是一种协议。两者都常用于实现服务,在这个层面最本质的区别是RPC服务主要工作在TCP协议之上(也可以在HTTP协议),而HTTP服务工作在HTTP协议之上。由于HTTP协议基于TCP协议.

Steve Wang's blog 1万+

Vue Print Designer——一款让打印模板的设计变简单的可视化打印设计器

Vue Print Designer——一款让打印模板的设计变简单的可视化打印设计器

bjzhang75的博客 688

浅谈rpc与restful

RPC RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层,RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 例如在某庞大商场系统中,你可以把整个商场拆分为N个微服务...

漫步语林 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HTTP/RPC浅谈

远程调用在平时开发中都经常会用到,一般常用的是http,webservice,rmi等 RPC 方式,我司用的内部RSF方式;下面来详细说一下,http和rpc的区别和联系,网上看了一圈和基于自己的理解。 http和rpc最大的区别:http是超文本传输协议,rpc更底层 是tcp的传输协议 远程调用的区别无非在于,通讯协议:http,tcp等等,序列号方式:json,xml,hessian,...

u014231662的博客 2495

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

浅谈RPC体系的理解

我们可以明确,类比于其他RPC框架,它们面对的问题、以及要解决的问题都是相同的,只不过不同的框架相关的实现有差异,仅此而已。 同时我们不难发现,不同RPC框架经常说的性能问题,其本质也就是①Message Protocol(消息管理层)、②Transfer/Network Protocol(传输管理层)、③描述后的URL(描述服务的协议方式)、④Registration Center(注册中心)之间的差异

持续Java学习中 1371

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

RPC浅谈

RPC浅谈 1、概念理解: 1.1、RPC RPC, 远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议,该协议允许运行于一台计算机的程序程调用另一台计算机的上的程序。通俗讲,RPC通过把网络通讯抽象为远程的过程调用,调用远程的过程就像调用本地的子程序一样方便,从而屏蔽了通讯复杂性,使开发人员可以无需关注网络编程的细节,将更多的时间和精力放在业务逻辑本身的实现上...

C_CXY2333的博客 533

进程间通信-浅谈RPC- 最小原型

1.RPC 是什么?与SOCKET、 HTTP、Web service什么关系?2.RPC的结构:程序号、程序版本号、过程号3.RPC基本组成:客户端(client)、客户端存根(client Stub)、服务端(Server Stub)、服务端(server)4.RPC基本过程: 9步。5.RPC 开源框架:gRPC、Thrift 、Dubbo 1.RPC 是什么? 远程过程调用(Remo...

aggie4628的专栏 2166

浅谈分布式系统中RESTful API 和 RPC 两种主流的通信架构

RESTful API 和 RPC 是分布式系统中两种主流的通信架构风格,它们在‌‌、‌‌和‌‌上存在显著差异。

leon_p的博客 360

想开发IM集群?先搞懂什么是RPC!

本文引用了后端技术指南针公众号“浅谈RPC那些事儿1”和即时通讯网的“即时通讯新手入门:快速理解RPC技术——基本概念、原理和用途”两篇文章的部分内容。 1、引言 经常有开发者在纠结怎么开发IM集群,虽然真正的使用人数,可能用个人电脑单机都能支撑。 你也许会说,明明不需要用到IM集群,干吗要自找麻烦?答曰:“老板说这个得有!”、“万一产品做成了,用户量达到百万、千万级呢?”,各种回答,反此种种。总...

lvlei19911108的博客 554

转-浅谈HTTP-GET 、 HTTP-POST 和SOAP

HTTP-GET 和 HTTP-POST HTTP-GET和HTTP-POST是标准协议,他们使用HTTP(超文本传输协议)谓词(谓词是指条件表达式的求值返回真或假的过程。)对参数金星编码并将参数作为名称/值对传递,还使用关联的请求语义。每个协议都包含一系列HTTP请求标头,HTTP请求标头及其他一些信息定义客户端向服务器请求哪些内容,哪个服务器用一系列HTTP响应标头和所请求的数据进...

diaoshanwai2368的博客 232

java进程间通信rpc_进程间通信-浅谈RPC- 最小原型

1.RPC 是什么?与SOCKET、 HTTP、Web service什么关系?2.RPC的结构:程序号、程序版本号、过程号3.RPC基本组成:客户端(client)、客户端存根(client Stub)、服务端(Server Stub)、服务端(server)4.RPC基本过程: 9步。5.RPC 开源框架:gRPC、Thrift 、Dubbo1.RPC 是什么? 远程过程调用(Remote...

weixin_31090403的博客 327

浅谈阿里巴巴蚂蚁金服SOFA微服务开源框架

前言: 提到分布式、微服务,大部分人首先想到的可能是SpringCloud、Duubo等主流框架,但事实上在SpringCloud还未出现之际,蚂蚁金服内部就已经有了一套比较完整的金融级分布式架构Sofa,并且到目前为止,经历了大大小小比较完善的闭环金融场景,如双十一、双十二等。说来也惭愧,之前并未关注到Sofa早已开源,所以一直不敢发布有关Sofa的相关文章,如果对Sofa知之甚少的小伙伴,接下来就和我一起进入一个新世界:Sofa分布式微服务架构。 1.Sofa结构图: ...

weixin_42070918的博客 1万+

浅谈WebService SOAP、Restful、HTTP(post/get)请求

HTTP-GET 和 HTTP-POST HTTP-GET和HTTP-POST是标准协议,他们使用HTTP(超文本传输协议)谓词(谓词是指条件表达式的求值返回真或假的过程。)对参数进行编码并将参数作为名称/值对传递,还使用关联的请求语义。每个协议都包含一系列HTTP请求标头,HTTP请求标头及其他一些信息定义客户端向服务器请求哪些内容,哪个服务器用一系列HTTP响应标头和所请

wt081216的专栏 617

单体 soa 微服务 区别_浅谈SOA和微服务

近几年,微服务(Microservices)概念火热,在各类技术沙龙、会议上不断被提及。及至当下,很多大厂小司已经有了成功实施案例,也有些正在艰难的摸索过程,或是保持观望。微服务是一种比较“年轻”的架构理念,而在它之前,有类似江湖地位的是SOA(Service Oriented Architecture-面向服务的架构)这位大佬。相信很多小伙伴我一样,在刚接触到微服务概念的时候会不自觉的...

weixin_39532352的博客 346

浅谈微服务

最终一致性:如果你的业务场景可以容忍一定的时间窗口内的数据不一致,或者通过其他手段来解决数据的一致性问题,那么最终一致性是一个可行的选择。Spring Boot和Spring Cloud:Spring Boot是一个用于快速开发独立的、基于Java的微服务的框架,而Spring Cloud是一套工具和库,用于构建分布式系统中的微服务。同时,随着技术的发展,出现了一些新的分布式事务解决方案和模式,例如基于消息队列的最终一致性、Saga模式等,它们可以部分地减少分布式事务带来的性能和可扩展性问题。

weixin_41545189的博客 339
上一篇: Java ConcurrentModificationException异常原因和解决方法
下一篇: Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
coding_1994
博客等级 码龄9年 636粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值