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

    文章

    5858

    浏览量

    103256
  • RPC
    RPC
    +关注

    关注

    0

    文章

    102

    浏览量

    11422
收藏 人收藏

    评论

    相关推荐

    谷歌模型框架是什么软件?谷歌模型框架怎么用?

    谷歌模型框架通常指的是谷歌开发的用于机器学习和人工智能的软件框架,其中最著名的是TensorFlow。TensorFlow是一个开源的机器学
    的头像 发表于 03-01 16:25 238次阅读

    谷歌模型框架是什么?有哪些功能和应用?

    谷歌模型框架(Google Model Framework)并不是一个特定的框架,而是指谷歌开发的一系列软件框架,用于支持机器学习和人工智能
    的头像 发表于 02-29 18:11 665次阅读

    使用go语言实现一个grpc拦截器

    在开发grpc服务时,我们经常会遇到一些通用的需求,比如:日志、链路追踪、鉴权等。这些需求可以通过grpc拦截器来实现。本文使用go语言来实现一个 grpc一元模式(Unary)拦截器
    的头像 发表于 12-18 10:13 241次阅读
    使用go语言实现一个<b class='flag-5'>grpc</b>拦截器

    润开鸿基于高性能RISC-V开源架构DAYU800通过OpenHarmony兼容性测评

    近期,江苏润开鸿数字科技有限公司(以下简称“润开鸿”)基于高性能RISC-V开源架构处理器研发的OpenHarmony标准系统开发平台HH-SCDAYU800通过OpenHarmony 3.2.2
    发表于 12-14 17:33

    一种高性能多通道通用DMA设计与实现

    为充分发挥异构多核DSP芯片的实时计算能力,设计并实现了一种高性能多通道的通用DMA,该DMA最大支持64个通道的数据搬运,并支持一维、二维、转置以及级联描述符等多种传输模式。芯片实测传输性能最高可达11.7 GB/s,实现了高
    的头像 发表于 11-20 15:52 603次阅读
    一种<b class='flag-5'>高性能</b>多通道<b class='flag-5'>通用</b>DMA设计与实现

    高性能网络框架之XDP技术解析

    还没有较好的通用用户态协议栈开源项目出现。在这种情况下,XDP借助于eBPF虚拟机技术在网卡驱动层实现高性能网络框架,且其原生运行在内核态可直通内核TCP/UDP协议栈。XDP作为一种
    的头像 发表于 11-05 11:19 1880次阅读
    <b class='flag-5'>高性能</b>网络<b class='flag-5'>框架</b>之XDP技术解析

    什么是gRPC

    相信大家对RPC协议都有一定的了解,并且或多或少都会在项目中涉及,但可能都和小编类似,都是直接使用平台封装的插件,对于其中的原理不是很了解,今天借此机会和大家分享下最近接触的RPC框架-grp
    的头像 发表于 10-07 16:24 372次阅读

    GRPC的基础使用方法

    gRPC 是 Google 开源高性能通用RPC 框架,它采用了基于 HTTP/2 协议
    的头像 发表于 09-19 16:08 506次阅读

    labview通用视觉框架参考

    labview通用视觉软件框架,机器视觉通用框架 通用视觉框架源代码。可以参考用于开发常规案例。
    发表于 08-04 15:58 34次下载

    labview视觉通用平台框架源代码

    本帖最后由 1281788316 于 2024-4-19 13:52 编辑 labview通用视觉软件框架,机器视觉通用框架 通用视觉
    发表于 08-03 16:57

    Labview通用框架介绍

    Labview通用框架(基于面向对象编程)
    的头像 发表于 07-11 10:08 2047次阅读
    Labview<b class='flag-5'>通用</b><b class='flag-5'>框架</b>介绍

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

    Tars是腾讯开源的支持多语言的高性能RPC框架,起源于腾讯内部2008年至今一直使用的统一应用框架TAF(Total Applicatio
    的头像 发表于 06-26 17:31 385次阅读
    Tars<b class='flag-5'>框架</b>使用NIO进行网络编程的源码分析

    共建、共享开源EDA核心共性技术框架|2023开放原子全球开源峰会开源EDA分论坛成功举办

    现有的PCB设计流程,另一方面需要体现仿真驱动和规格驱动的先进性,其包含四个层级,即数据层、高性能计算层、开源框架层和应用层。现已开发多个第三方接口,高校和企业可以通过开源或闭源的方式
    发表于 06-16 13:45

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

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

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

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