在我们深入讨论gRPC的揭秘细节之前,澄清远程通信领域各种术语之间的释放闪电关系非常重要,这有时可能令人困惑。通信
根据维基百科的揭秘定义,“在分布式计算中,释放闪电远程过程调用(RPC)是通信指计算机程序导致在不同地址空间中执行过程(子程序),通常在共享网络上的揭秘另一台计算机上,就好像它是释放闪电一个正常的(本地)过程调用,程序员没有明确编写远程交互的通信详细信息。”
简而言之,揭秘这是释放闪电一种让一个计算机程序请求另一个程序执行某项任务的方式,即使它们位于不同的通信计算机上也可以。这有点像在您的程序中调用一个函数,尽管它是在不同的机器上执行的。这是一种过程调用,就好像它在同一台机器上一样,但实际上不在同一台机器上,RPC库/框架负责抽象化所有这些复杂性。
RPC框架负责屏蔽底层的传输方法(TCP或UDP)、序列化方法(XML/JSON/二进制)和通信细节。服务调用者可以像调用本地接口一样调用远程服务提供者,而不必关心底层通信。这涉及到调用的细节和过程。
REST代表表述性状态传输,是一种用于设计网络应用程序的成熟架构风格。RESTful API使用HTTP请求执行CRUD(创建、读取、更新、删除)操作,通常表示为URL。REST API以其简单性和使用GET、POST、PUT和DELETE等标准HTTP方法而闻名。
HTTP(超文本传输协议)是互联网上的数据通信基础。它定义了消息的格式和传输方式,以及Web服务器和浏览器如何响应各种命令。HTTP随着时间的推移发生了演变,不同版本提供了各种功能和改进:
所以现在我们了解了这些术语。让我们开始吧!
gRPC(这里的“g”代表什么?)是一种进程间通信技术,允许您连接、调用、操作和调试分布式异构应用程序,就像进行本地函数调用一样简单。
当您开发gRPC应用程序时,首先要做的是定义一个服务接口。服务接口定义包含有关如何消费服务的信息,允许消费者调用哪些远程方法,调用这些方法时要使用什么方法参数和消息格式,等等。我们在服务定义中指定的语言称为接口定义语言(IDL)。
gRPC使用协议缓冲区作为定义服务接口的IDL。协议缓冲区是一种与语言无关、平台中立、可扩展的机制,用于序列化结构化数据。
是什么让gRPC拥有闪电般的性能?以下是内部情况:
HTTP/2: 2015年,HTTP/2取代了HTTP/1.1,提供了多路复用功能,允许多个请求和响应共享单个连接,提高了效率。
gRPC效率游戏中的关键因素之一是协议缓冲区,简称Protobuf。Protobuf定义数据结构和函数合同。客户端和服务器都需要使用相同的Protobuf语言,这是它们如何相互理解的方式。协议缓冲区(ProtoBuf)在gRPC框架内发挥三个主要作用:定义数据结构、指定服务接口,并通过序列化和反序列化增强传输效率。
除了有一个非常可爱的吉祥物外。采用gRPC的原因在于其独特的优势:
(责任编辑:知识)
安徽:截止10月底各级财政累计拨付民生工程资金1213.2亿元
【聊透SpringMVC】SpringMVC“传统”方式的启动过程
信用购关闭后还能开通吗 征信上的信用购基本借贷记录会一直存在吗?