APP下载

REST范式替代品gRPC-Web释出正式版

消息来源:baojiabao.com 作者: 发布时间:2024-05-20

报价宝综合消息REST范式替代品gRPC-Web释出正式版

原生云端基金会(Cloud Native Computing Foundation,CNCF)宣布释出gRPC-Web正式版,这是一个JavaScript客户端函式库,让网页应用程序能够与后端的gRPC服务通讯,而不需要HTTP服务器充当中介,使用者现在可以透过.proto档案定义客户端、服务器端资料型态和服务界面。gRPC-Web为整个网页开发REST范式,提供一个全新的选择。

Google在2015年开源gRPC框架,并在2017年加入原生云端基金会,作为该组织第6个开源专案。gRPC-Web让开发者能够用.proto和自动产生的客户端JavaScript,定义客户端网页应用程序和后端gRPC服务器之间的服务合约,而不需要再创建自定义的JSON序列化和反序列化逻辑、处理HTTP状态代码或是内容类型协商等繁琐的程序。

以更广泛的角度来说,gRPC-Web实现了端到端gRPC。现在的REST开发范式中,网页应用程序将HTTP发送到后端的REST API服务器中,然后再由该服务器以协定缓冲区(Protocol Buffers)跟后端服务沟通,但是在gRPC-Web中,客户端应用程序以协定缓冲区跟gRPC后端服务器通讯,该服务器也同样使用协定缓冲区与其他gRPC后端服务沟通。

REST应用程序本身没有任何问题,REST范式也发展的非常成功,现存在大量非常成功以REST API服务器建构的应用程序,以非HTTP协定与后端沟通。但只要使用gRPC-Web架构,应用程序开发使用单一协定和一组.proto界面,使用者可以省下大量的时间。在REST范式中,网页应用程序将HTTP发送到后端的REST API服务器,不只代表多使用一种协定,而且也是额外的知识负荷,因此gRPC-Web不只是解决技术问题,同时也能解决实际的组织问题。

虽然随着gRPC-Web的发展,功能集会越来越完整,但是在这次原生云端基金会释出的gRPC-Web正式版,已经提供使用者巨大的好处。除了gRPC-Web能让使用者彻底停止使用REST元件,完全替换成gRPC外,也能让前端与后端团队合作更加协调,因为整个RPC工作管线都使用协定缓冲区,微服务团队跟客户端团队将不需要绑在一起,可以有更明确的分工。

另外,在使用gRPC-Web后,内部服务与互联网沟通的服务器,将会是gRPC服务器而不是HTTP服务器,而将代表所有服务的客户端使用的函式库,都可以使用gRPC函示库,使用者不再需要特别为Ruby、Python或Java等语言撰写HTTP客户端。

gRPC-Web正式版释出代表主要功能都已经到位,但React、Angular和Vue等热门框架,官方都还未开始支援gRPC-Web,原生云端基金会将继续推广,希望能与前端框架良好整合。此外,从正式版开始,Envoy是gRPC-Web的预设代理,但官方希望未来有其他特定语言的程序内代理,以消除对特殊代理的需求。

2018-10-30 19:34:00

相关文章