<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=GRPC</id>
	<title>GRPC - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=GRPC"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=GRPC&amp;action=history"/>
	<updated>2026-07-12T14:18:37Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=GRPC&amp;diff=3307666&amp;oldid=prev</id>
		<title>imported&gt;Yumeto：​使用DisamAssist清理消歧義連結：Go（改連結至Go語言）。</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=GRPC&amp;diff=3307666&amp;oldid=prev"/>
		<updated>2026-03-02T15:26:18Z</updated>

		<summary type="html">&lt;p&gt;使用&lt;a href=&quot;/index.php?title=User:Peacearth/DisamAssist.js&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Peacearth/DisamAssist.js（页面不存在）&quot;&gt;DisamAssist&lt;/a&gt;清理&lt;a href=&quot;/index.php?title=WP:DAB&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:DAB（页面不存在）&quot;&gt;消歧義&lt;/a&gt;連結：&lt;a href=&quot;/wiki/Go&quot; title=&quot;Go&quot;&gt;Go&lt;/a&gt;（改連結至&lt;a href=&quot;/wiki/Go%E8%AA%9E%E8%A8%80&quot; title=&quot;Go語言&quot;&gt;Go語言&lt;/a&gt;）。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox software&lt;br /&gt;
| name = gRPC&lt;br /&gt;
| title = gRPC&lt;br /&gt;
| developer = [[Google]]&lt;br /&gt;
| latest_release_version = 1.45.0&amp;lt;ref name=&amp;quot;grpc-releases&amp;quot;&amp;gt;{{cite web|url=https://github.com/grpc/grpc/releases|title=gRPC releases|accessdate=2022-02-07|archive-date=2022-05-04|archive-url=https://web.archive.org/web/20220504125840/https://github.com/grpc/grpc/releases}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| latest release date = {{Start date and age|2022|03|19}}&lt;br /&gt;
| released = {{Start date and age|2016|08}}&lt;br /&gt;
| programming language = [[Android]] [[Java]]、[[C♯]]、[[C++]]、[[Dart]]、[[Go語言|Go]]、[[Java]]、[[Kotlin]]/[[Java虚拟机|JVM]]、[[Node.js]]、[[Objective-C]]、[[PHP]]、[[Python]]、[[Ruby]]&lt;br /&gt;
| genre = [[遠端程序呼叫]][[軟體框架|框架]]&lt;br /&gt;
| license = [[Apache License 2.0]]&lt;br /&gt;
| website = {{URL|https://grpc.io/}}&lt;br /&gt;
}}&lt;br /&gt;
{{NoteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
|1=zh-tw:使用案例;zh-cn:用例&lt;br /&gt;
|2=zh-tw:用戶端;zh-cn:客户端&lt;br /&gt;
}}&lt;br /&gt;
{{Lowercase}}&amp;#039;&amp;#039;&amp;#039;gRPC&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;gRPC&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Remote Procedure Calls&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;{{Cite web |title=FAQ |url=https://grpc.io/docs/what-is-grpc/faq/ |website=gRPC |language=en |access-date=2022-10-10 |archive-date=2022-01-04 |archive-url=https://web.archive.org/web/20220104231953/https://grpc.io/docs/what-is-grpc/faq/ |dead-url=no }}&amp;lt;/ref&amp;gt;) 是一个[[跨平台]]的[[开源]]高性能[[遠程過程調用|远程过程调用]]（&amp;#039;&amp;#039;&amp;#039;RPC&amp;#039;&amp;#039;&amp;#039;）框架。&lt;br /&gt;
&lt;br /&gt;
gRPC最初由[[Google]]创建，它使用一个通用的RPC基础设施Stubby来连接其[[数据中心]]内外运行的大量[[微服務|微服务]]，始于2001年。&amp;lt;ref&amp;gt;{{Cite web|title=gRPC: a true internet-scale RPC framework is now 1.0 and ready for production deployments|url=https://cloud.google.com/blog/products/gcp/grpc-a-true-internet-scale-rpc-framework-is-now-1-and-ready-for-production-deployments|date=24 August 2016|access-date=2023-04-03|archive-date=2024-01-23|archive-url=https://web.archive.org/web/20240123205146/https://cloud.google.com/blog/products/gcp/grpc-a-true-internet-scale-rpc-framework-is-now-1-and-ready-for-production-deployments|dead-url=no}}&amp;lt;/ref&amp;gt;2015年3月，Google决定构建下一个版本的Stubby并将其开源，于是就有了gRPC。现在除了Google之外，许多组织都在使用它来支持从微服务到计算的“最后一英里”（移动、Web和物联网）的用例。&lt;br /&gt;
&lt;br /&gt;
gRPC基于[[HTTP/2]]协议传输数据，使用[[Protocol Buffers]]作为[[接口描述语言]]，并提供认证（authentication）、双向[[字符串|串流]]（bidirectional streaming）和[[數據流量控制|流量控制]]、阻塞或非阻塞绑定以及取消和超时（Deadlines）等功能。它为许多语言生成跨平台的客户端和服务器绑定。最常见的使用场景包括在微服务风格的架构中连接服务，或将移动设备客户端连接到后端服务。&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;{{Cite web|title=About gRPC|url=https://grpc.io/about/|website=gRPC|language=en|access-date=2021-05-25|archive-date=2020-12-22|archive-url=https://web.archive.org/web/20201222032503/https://grpc.io/about/|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gRPC对HTTP/2的复杂使用使得在浏览器中无法实现gRPC客户端，而需要使用代理。&amp;lt;ref&amp;gt;{{cite web|title=The state of gRPC in the browser|url=https://grpc.io/blog/state-of-grpc-web/|website=gRPC|date=8 January 2019|language=en-us|access-date=2024-03-02|archive-date=2022-01-04|archive-url=https://web.archive.org/web/20220104231953/https://grpc.io/blog/state-of-grpc-web/|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
最常见的应用场景是&amp;lt;ref&amp;gt;{{Cite web |title=About gRPC |url=https://grpc.io/about/ |website=gRPC |language=en |access-date=2022-10-10 |archive-date=2020-12-22 |archive-url=https://web.archive.org/web/20201222032503/https://grpc.io/about/ |dead-url=no }}&amp;lt;/ref&amp;gt;：&lt;br /&gt;
&lt;br /&gt;
* [[微服务]]框架下，多种语言服务之间的高效交互。&lt;br /&gt;
* 将手机服务、浏览器连接至后台&lt;br /&gt;
* 产生高效的客户端库&lt;br /&gt;
&lt;br /&gt;
== 身份验证（Authentication） ==&lt;br /&gt;
gRPC支持使用[[传输层安全性协定|传输层安全性协议]]（TLS）和基于令牌的身份验证。连接到Google服务必须使用TLS。有两种类型的凭据：通道凭据和调用凭据。对于基于令牌的授权，gRPC提供了服务器拦截器&amp;lt;ref&amp;gt;{{Cite web|title=gRPC Server Interceptor|url=https://thecodedata.com/grpc-interceptors-with-java/|access-date=2024-03-02|archive-date=2024-06-09|archive-url=https://web.archive.org/web/20240609164121/https://thecodedata.com/grpc-interceptors-with-java/|dead-url=no}}&amp;lt;/ref&amp;gt;和客户端拦截器&amp;lt;ref&amp;gt;{{Cite web|title=gRPC|url=https://grpc.io/docs/guides/auth/|website=grpc.io|access-date=2020-02-24|archive-date=2022-01-04|archive-url=https://web.archive.org/web/20220104231957/https://grpc.io/docs/guides/auth/|dead-url=no}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 编码（Encoding） ==&lt;br /&gt;
{{Main|Protocol Buffers}}gRPC使用[[Protocol Buffers]]来编码数据。Protocol buffers提供了一种序列化格式和[[接口描述语言]]。&amp;lt;ref&amp;gt;{{Cite web|title=Compare gRPC services with HTTP APIs|url=https://docs.microsoft.com/en-us/aspnet/core/grpc/comparison|website=docs.microsoft.com|language=en-us|last=JamesNK|access-date=2020-02-24|archive-date=2023-12-07|archive-url=https://web.archive.org/web/20231207014758/https://learn.microsoft.com/en-us/aspnet/core/grpc/comparison?view=aspnetcore-8.0|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 测试（Testing） ==&lt;br /&gt;
用于测试gRPC实现的一些软件工具包括[[Postman]]、ezy&amp;lt;ref&amp;gt;{{cite web|title=ezy on GitHub|url=https://github.com/getezy/ezy|access-date=2024-03-02|archive-date=2024-03-27|archive-url=https://web.archive.org/web/20240327124111/https://github.com/getezy/ezy|dead-url=no}}&amp;lt;/ref&amp;gt;、Insomnia和Step CI&amp;lt;ref&amp;gt;{{cite web|title=Step CI Documentation|url=https://docs.stepci.com/guides/testing-grpc.html|access-date=2024-03-02|archive-date=2023-12-06|archive-url=https://web.archive.org/web/20231206052837/https://docs.stepci.com/guides/testing-grpc.html|dead-url=no}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 应用 ==&lt;br /&gt;
许多不同的组织已经采用了gRPC，例如[[Uber]],&amp;lt;ref&amp;gt;{{cite web|title=gRPC at Uber|url=https://eng.uber.com/architecture-api-gateway/|date=19 May 2021}}&amp;lt;/ref&amp;gt; [[Square, Inc.|Square]], [[Netflix]], [[IBM]], [[CoreOS]], [[Docker (software)|Docker]], [[CockroachDB]], [[Arista Networks]],  [[Cisco Systems|Cisco]], [[Juniper Networks]],&amp;lt;ref&amp;gt;{{Cite web|title=gRPC|url=https://grpc.io/faq/#who-s-using-this-and-why|website=grpc.io|access-date=2020-02-24|archive-date=2020-11-24|archive-url=https://web.archive.org/web/20201124225231/https://grpc.io/faq/#who-s-using-this-and-why|dead-url=no}}&amp;lt;/ref&amp;gt; [[Spotify]],&amp;lt;ref&amp;gt;{{Cite web|title=gRPC at Spotify|url=https://www.jfokus.se/jfokus19-preso/Adopting-gRPC-at-Spotify.pdf|website=jfokus.se|access-date=2020-05-12|archive-date=2021-10-27|archive-url=https://web.archive.org/web/20211027132839/https://www.jfokus.se/jfokus19-preso/Adopting-gRPC-at-Spotify.pdf|dead-url=no}}&amp;lt;/ref&amp;gt; [[Zalando]],&amp;lt;ref&amp;gt;{{Cite web|title=Zalando Tech Radar|url=https://opensource.zalando.com/tech-radar/|website=opensource.zalando.com|access-date=2021-04-08|archive-date=2021-10-20|archive-url=https://web.archive.org/web/20211020013502/https://opensource.zalando.com/tech-radar/|dead-url=no}}&amp;lt;/ref&amp;gt; [[Dropbox (service)|Dropbox]],&amp;lt;ref&amp;gt;{{Cite web|title=How we migrated Dropbox from Nginx to Envoy|url=https://dropbox.tech/infrastructure/how-we-migrated-dropbox-from-nginx-to-envoy|website=Dropbox.Tech|access-date=2020-10-30|archive-date=2022-01-04|archive-url=https://web.archive.org/web/20220104231954/https://dropbox.tech/infrastructure/how-we-migrated-dropbox-from-nginx-to-envoy|dead-url=no}}&amp;lt;/ref&amp;gt; 以及作为原始开发者的Google。&lt;br /&gt;
&lt;br /&gt;
开源项目 [[OpenBMC#u-bmc|u-bmc]] 使用gRPC替代[[IPMI|智能平台管理接口]]（IPMI）。&amp;lt;ref name=&amp;quot;ubmc&amp;quot;&amp;gt;{{cite web|title=u-bmc|url=https://github.com/u-root/u-bmc|website=GitHub.com|date=5 October 2022|access-date=2024-03-02|archive-date=2022-01-04|archive-url=https://web.archive.org/web/20220104231952/https://github.com/u-root/u-bmc|dead-url=no}}&amp;lt;/ref&amp;gt;2019年1月8日，[[Dropbox]]宣布他们的[[面向服务的体系结构|服务导向架构]]（SOA）核心的RPC框架“Courier”的下一个版本将迁移到gRPC上，主要是因为它与他们现有的自定义RPC框架很好地契合。&amp;lt;ref name=&amp;quot;dropbox&amp;quot;&amp;gt;{{cite web|title=Courier: Dropbox migration to gRPC|url=https://blogs.dropbox.com/tech/2019/01/courier-dropbox-migration-to-grpc/|date=2019-01-08|author=Nigmatullin, Ruslan|author2=Ivanov, Alexey|access-date=2019-01-09|archive-date=2020-03-12|archive-url=https://web.archive.org/web/20200312221046/https://blogs.dropbox.com/tech/2019/01/courier-dropbox-migration-to-grpc/|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== gRPC的替代方案 ==&lt;br /&gt;
&lt;br /&gt;
* [[Cap&amp;#039;n Proto]]&lt;br /&gt;
* [[Apache Thrift]]&lt;br /&gt;
* [[Apache Avro]]&lt;br /&gt;
* [[JSON-RPC]]&lt;br /&gt;
* [[XML-RPC]]&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
* {{Ilh/en|数据序列化格式的比较|Comparison_of_data-serialization_formats|数据序列化格式的比较}}&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
* [https://grpc.io/ gRPC – 官方网站] {{Wayback|url=https://grpc.io/ |date=20210123195333 }}&lt;br /&gt;
* [https://opensource.google/projects/grpc gRPC – opensource.google.com] {{Wayback|url=https://opensource.google/projects/grpc |date=20201201003248 }}&lt;br /&gt;
* [https://github.com/grpc/ gRPC – GitHub] {{Wayback|url=https://github.com/grpc/ |date=20220104231956 }}&lt;br /&gt;
* [https://doc.oschina.net/grpc 开源中国 gRPC文档中文翻譯版] {{Wayback|url=https://doc.oschina.net/grpc |date=20201030195528 }}&lt;br /&gt;
&lt;br /&gt;
{{Google FOSS}}&lt;br /&gt;
{{google-stub}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Google軟體]]&lt;br /&gt;
[[Category:使用BSD许可证的软件]]&lt;br /&gt;
[[Category:遠端程序呼叫]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Yumeto</name></author>
	</entry>
</feed>