0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

谷歌开源高性能通用RPC框架gRPC

汽车玩家 来源:开源中国 作者:局长 2020-04-20 14:43 次阅读

谷歌开源了gRPC-Kotlin/JVM,让开发者可以在 Kotlin 项目中更方便地使用 gRPC,以更简单的方式构建可靠的网络连接服务。

谷歌开源高性能通用RPC框架gRPC

gRPC 是谷歌开源的高性能、通用 RPC 框架,支持多种编程语言,包括 C++Java、Objective-C、Python、Ruby、Go、C#Node.js 等。gRPC 基于 Protocol Buffers,它面向移动和基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。

谷歌开源高性能通用RPC框架gRPC

谷歌认为,将 gRPC 与世界上第二流行的 JVM 编程语言 Kotlin 结合,开发者可以构建从移动应用程序到云端微服务的一切。此项目构建在 gRPC 的 Java API 之上,提供了对 Kotlin 友好的 gRPC 类,支持 Kotlin 协程。

下面来看一个例子。首先需要一个 proto 定义,这是一个语言无关的服务接口定义:

谷歌开源高性能通用RPC框架gRPC

运行 gRPC Kotlin 生成器之后,能够以协程的形式实现服务:

谷歌开源高性能通用RPC框架gRPC

并从客户端异步调用它:

谷歌开源高性能通用RPC框架gRPC

协程非常适合用于异步编程,而 Kotlin 版本的 gRPC 则使它变得更容易。

开发者如果希望在自己的项目中使用gRPC Kotlin,需要同时添加生成器和 grpc-java 配置。目前 gRPC Kotlin 仍处于测试阶段,初始版本为 0.1.1 版本。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    5556

    浏览量

    102328
  • RPC
    RPC
    +关注

    关注

    0

    文章

    88

    浏览量

    11340
收藏 人收藏

    评论

    相关推荐

    高性能开源伺服器ODRIVE的规格是什么?

    高性能开源伺服器ODRIVE的规格是什么?
    发表于 09-30 06:38

    香山是什么?“香山” 高性能开源 RISC-V 处理器项目介绍

    高性能开源 RISC-V 处理器项目,研发出目前国际上性能最高的开源高性能 RISC-V 处理器核
    发表于 04-07 14:20

    先楫高性能MCU搭载OpenHarmony,共赢芯未来

    高性能MCU通用开发板在2022年就率先合入OpenHarmony社区主干,助力该开源系统在工业控制、新能源等应用领域实现突破。 先楫半导体市场总监徐琦先生,在
    发表于 04-23 15:01

    通用高性能密码服务系统模型

    通用高性能密码服务系统模型_寇文龙
    发表于 01-07 21:39 0次下载

    高性能通用温度采集仪的研制

    高性能通用温度采集仪的研制
    发表于 09-25 13:52 16次下载
    <b>高性能</b><b>通用</b>温度采集仪的研制

    srpc高性能通用RPC框架

    发表于 06-17 09:30 1次下载
    srpc<b>高性能</b><b>通用</b><b>RPC</b><b>框架</b>

    gRPC-Nebula微服务框架

    grpc-nebula.zip
    发表于 06-22 14:59 0次下载
    <b>gRPC</b>-Nebula微服务<b>框架</b>

    谷歌重磅开源NLP通用框架,20多篇最新论文都用了它

    谷歌重磅开源NLP通用框架,20多篇最新论文都用了它 来源:互联网(转载协议)发布日期:2019-02-26 17:22浏览: 4126 次专栏投稿值班编辑:QQ281688302 新智元报道 来源
    发表于 03-26 11:54 354次阅读

    什么是RPC?为什么需要RPC

    RPC可以用HTTP协议实现,并且用HTTP是建立在 TCP 之上最广泛使用的 RPC,但是互联网公司往往用自己的私有协议,比如鹅厂的JCE协议,私有协议不具备通用性为什么还要用呢?因为相比于HTTP协议,RPC采用二进制字节码传输,更加高效也更加安全。
    的头像 发表于 04-16 12:49 1.4w次阅读
    什么是<b>RPC</b>?为什么需要<b>RPC</b>?

    为什么做开源高性能RISC-v核,香山开源高性能RISC-V处理器开发流程

    开源指令集架构,那么为什么做开源高性能RISC-v核?
    发表于 06-22 14:25 2584次阅读
    为什么做<b>开源</b><b>高性能</b>RISC-v核,香山<b>开源</b><b>高性能</b>RISC-V处理器开发流程

    IP知识百科之什么是gRPC

    gRPC Google远程过程调用(Google Remote Procedure Call,gRPC)协议是谷歌发布的高性能通用开源RPC软件框架gRPC提供了多种编程语言,同时gRPC也是
    的头像 发表于 11-16 15:13 2316次阅读

    基于TarsCpp-v3.0.0讨论协程在TarsCpp服务框架的实现

    开源项目,它是基于名字服务使用 Tars 协议的高性能 RPC 开发框架,配套一体化的运营管理平台,并通过伸缩调度,实现运维半托管服务。
    的头像 发表于 05-09 09:41 570次阅读
    基于TarsCpp-v3.0.0讨论协程在TarsCpp服务<b>框架</b>的实现

    嵌入式Linux应用开发之内置RPC

    RPC默认采用Go语言特有的gob编码,因此从其它语言调用Go语言实现的RPC服务将比较困难。虽然可以通过额外的工作支持跨语言,但是其实没必要,我们可以使用ProtoBuf和gRPC框架支持跨语言。
    发表于 05-13 09:46 218次阅读

    Tars框架使用NIO进行网络编程的源码分析

    开源的支持多语言的高性能RPC框架,起源于腾讯内部2008年至今一直使用的统一应用框架TAF(Total Application Framework),目前支持C++、Java、PHP、Nodejs、Go语言。
    的头像 发表于 06-26 17:31 200次阅读
    Tars<b>框架</b>使用NIO进行网络编程的源码分析

    GRPC的基础使用方法

    gRPC 是 Google 开源高性能通用RPC 框架,它采用了基于 HTTP/2 协议的二进制传输协议,支持多种语言,包括 Rust。Rust 语言 GRPC 模块是一个用于 Rust
    的头像 发表于 09-19 16:08 180次阅读