谷歌开源 Kotlin 版本 gRPC
谷歌开源了 gRPC-Kotlin/JVM,让开发者可以在 Kotlin 项目中更方便地使用 gRPC,以更简单的方式构建可靠的网络连接服务。
gRPC 是谷歌开源的高性能、通用 RPC 框架,支持多种编程语言,包括 C++、Java、Objective-C、Python、Ruby、Go、C# 与 Node.js 等。gRPC 基于 Protocol Buffers,它面向移动和基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。
谷歌认为,将 gRPC 与世界上第二流行的 JVM 编程语言 Kotlin 结合,开发者可以构建从移动应用程序到云端微服务的一切。此项目构建在 gRPC 的 Java API 之上,提供了对 Kotlin 友好的 gRPC 类,支持 Kotlin 协程。
下面来看一个例子。首先需要一个 proto 定义,这是一个语言无关的服务接口定义:
message HelloRequest { string name = 1; } message HelloReply { string message = 1; } service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) {} }
运行 gRPC Kotlin 生成器之后,能够以协程的形式实现服务:
private class HelloWorldService: GreeterCoroutineImplBase() { override suspend fun sayHello(request: HelloRequest) = HelloReply .newBuilder() .setMessage("Hello ${request.name}") .build() }
并从客户端异步调用它:
val request = HelloRequest.newBuilder().setName(name).build() val response = async { stub.sayHello(request) } println("Received: ${response.await().message}")
协程非常适合用于异步编程,而 Kotlin 版本的 gRPC 则使它变得更容易。
开发者如果希望在自己的项目中使用 gRPC Kotlin,需要同时添加生成器和 grpc-java 配置。目前 gRPC Kotlin 仍处于测试阶段,初始版本为 0.1.1 版本。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | 事务处理不当,线上接口又双叒内存泄漏了
情景 项目上线了一个接口,先灰度一台机器观察调用情况; 接口不断的调用,过了一段时间,发现机器上的接口调用开始报OOM异常 ! 当天就是上线deadline了,刺激。。 发现问题 第一步,使用jps命令获取出问题jvm进程的进程ID 使用jps -l -m获取到当前jvm进程的pid,通过上述命令获取到了服务的进程号:427726 (此处假设为这个) jps命令 jps(JVM Process Status Tool):显示指定系统内所有的HotSpot虚拟机进程 jps -l -m : 参数-l列出机器上所有jvm进程,-m显示出JVM启动时传递给main()的参数 第二步,使用jstat观察jvm状态,发现问题 因为是OOM异常,所以我们首先重启机器观察了JVM的运行情况; 我们使用jstat -gc pid time命令观察GC,发现GC在YGC后,GC掉的内存并不多,每次YGC后都有一部分内存未回收,导致在多次YGC后回收不掉的内存被挪到堆的old区,old满了之后FGC发现也是回收不掉; 这里基本可以确定是内存泄漏的问题了,下面我们有简单看了下机器的cpu、内存、磁盘状态 j...
- 下一篇
Windows 记事本再度上架 Microsoft Store
早在2019年8月的时候,微软宣布不再将 Windows 记事本与系统捆绑,而是将其上架到Microsoft Stroe供用户单独下载,这一变化使得记事本脱离了系统更新周期,可以不再随系统发布新版本而更新,让开发人员灵活地响应用户反馈,并尽快推出新的更新和修复补丁。但到了12月发布新的内测版时,微软却放弃了这一计划,并且没有给出太多理由。 现在,这一计划再度重启,Windows 记事本又可以从 Microsoft Store 下载了。 获取地址:https://www.microsoft.com/en-us/p/windows-notepad/9msmlrh6lzf3 可以看到,重新上架的 Windows 记事本(Windows Notepad)采用了全新的图标,更贴合新版 Windows 10 的设计风格。 记事本是Windows 系统中一个最基础的内置工具,但非常简陋,没有什么竞争力,并且一直以来,微软都没有把多少目光聚集在它身上,使得记事本 30 多年来没有什么变化。但在2018年的时候,微软大力改造了这一系统中的老伙计,随之而来的是为其增加了一系列现代化的新功能,包括提升底层性...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用