🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大小厂~💐
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥
摘要: gRPC是Google开源的高性能RPC框架,起源于Google内部的RPC系统——Stubby。本文详细探讨了gRPC的核心设计思路、与ThriftRPC和传统RPC的区别,以及gRPC的主要优势。
引言: 在分布式系统和微服务架构日益盛行的今天,远程过程调用(RPC)技术变得越来越重要。gRPC,作为Google推出的一个开源RPC框架,已经成为了这个领域的一个标准。本文旨在深入探讨gRPC的设计、特点和其在现代应用中的价值。
gRPC是由Google开源的一个高性能的RPC框架,起源于Google内部的RPC系统——Stubby。在2015年,它被正式开源,成为云原生时代的一个RPC标准。
gRPC自己封装了网络通信的部分,并为多种语言提供了网络通信的封装,包括C、Java(基于Netty)和Go。
gRPC使用HTTP2作为其传输协议,支持二进制数据内容的传输。它还支持双向流(双工)以及连接的多路复用。
特别地,gRPC使用protobuf(Protocol Buffers)作为其主要的序列化方式。这是Google开源的一种序列化方式,其时间效率和空间效率是JSON的3到5倍。它使用IDL语言进行描述。
gRPC通过创建代理(stub)使得调用者可以像调用本地方法那样去调用远端的服务方法。
两者都支持异构语言的RPC。
RPC (Remote Procedure Call) 是一种远程过程调用技术,它允许程序调用另一个地址空间(通常是在共享网络的另一台机器上)的过程或函数,就像调用本地的过程或函数一样。
以上就是关于gRPC的简要介绍,它作为一个高性能的RPC框架,在现代的分布式系统和微服务架构中有着广泛的应用。
gRPC凭借其高效的protobuf序列化方式、HTTP2协议的使用以及广泛的语言和平台支持,为现代分布式系统提供了一个强大且高效的通信工具。与传统的RPC和其他现代RPC框架相比,gRPC具有明显的优势,特别是在性能、扩展性和云原生应用的集成方面。得益于Google的背书和开源社区的支持,gRPC的未来前景看起来非常光明。
======= ·